mirror of
https://github.com/Jozufozu/Flywheel.git
synced 2025-02-12 05:05:03 +01:00
A slap on the wrist
- Add restrict qualifier to images in downsample shaders - Early out when there are no changed pages in IndirectInstancer#uploadInstances
This commit is contained in:
parent
d342ae740c
commit
9f938e0673
3 changed files with 17 additions and 13 deletions
|
@ -82,6 +82,10 @@ public class IndirectInstancer<I extends Instance> extends AbstractInstancer<I>
|
||||||
}
|
}
|
||||||
|
|
||||||
public void uploadInstances(StagingBuffer stagingBuffer, int instanceVbo) {
|
public void uploadInstances(StagingBuffer stagingBuffer, int instanceVbo) {
|
||||||
|
if (changedPages.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
int numPages = mapping.pageCount();
|
int numPages = mapping.pageCount();
|
||||||
|
|
||||||
var instanceCount = instances.size();
|
var instanceCount = instances.size();
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
#include "flywheel:internal/indirect/downsample.glsl"
|
#include "flywheel:internal/indirect/downsample.glsl"
|
||||||
|
|
||||||
layout(binding = 0) uniform sampler2D mip_0;
|
layout(binding = 0) uniform sampler2D mip_0;
|
||||||
layout(binding = 1, r32f) uniform writeonly image2D mip_1;
|
layout(binding = 1, r32f) uniform restrict writeonly image2D mip_1;
|
||||||
layout(binding = 2, r32f) uniform writeonly image2D mip_2;
|
layout(binding = 2, r32f) uniform restrict writeonly image2D mip_2;
|
||||||
layout(binding = 3, r32f) uniform writeonly image2D mip_3;
|
layout(binding = 3, r32f) uniform restrict writeonly image2D mip_3;
|
||||||
layout(binding = 4, r32f) uniform writeonly image2D mip_4;
|
layout(binding = 4, r32f) uniform restrict writeonly image2D mip_4;
|
||||||
layout(binding = 5, r32f) uniform writeonly image2D mip_5;
|
layout(binding = 5, r32f) uniform restrict writeonly image2D mip_5;
|
||||||
layout(binding = 6, r32f) uniform writeonly image2D mip_6;
|
layout(binding = 6, r32f) uniform restrict writeonly image2D mip_6;
|
||||||
|
|
||||||
float reduce_load_mip_0(uvec2 tex) {
|
float reduce_load_mip_0(uvec2 tex) {
|
||||||
// NOTE: mip_0 is the actual depth buffer, and mip_1 is the "base" of our depth pyramid and has the next
|
// NOTE: mip_0 is the actual depth buffer, and mip_1 is the "base" of our depth pyramid and has the next
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
#include "flywheel:internal/indirect/downsample.glsl"
|
#include "flywheel:internal/indirect/downsample.glsl"
|
||||||
|
|
||||||
layout(binding = 0, r32f) uniform readonly image2D mip_6;
|
layout(binding = 0, r32f) uniform restrict readonly image2D mip_6;
|
||||||
layout(binding = 1, r32f) uniform writeonly image2D mip_7;
|
layout(binding = 1, r32f) uniform restrict writeonly image2D mip_7;
|
||||||
layout(binding = 2, r32f) uniform writeonly image2D mip_8;
|
layout(binding = 2, r32f) uniform restrict writeonly image2D mip_8;
|
||||||
layout(binding = 3, r32f) uniform writeonly image2D mip_9;
|
layout(binding = 3, r32f) uniform restrict writeonly image2D mip_9;
|
||||||
layout(binding = 4, r32f) uniform writeonly image2D mip_10;
|
layout(binding = 4, r32f) uniform restrict writeonly image2D mip_10;
|
||||||
layout(binding = 5, r32f) uniform writeonly image2D mip_11;
|
layout(binding = 5, r32f) uniform restrict writeonly image2D mip_11;
|
||||||
layout(binding = 6, r32f) uniform writeonly image2D mip_12;
|
layout(binding = 6, r32f) uniform restrict writeonly image2D mip_12;
|
||||||
|
|
||||||
float reduce_load_mip_6(ivec2 tex) {
|
float reduce_load_mip_6(ivec2 tex) {
|
||||||
// NOTE: We could bind mip_6 as a sampler2D and use textureGather,
|
// NOTE: We could bind mip_6 as a sampler2D and use textureGather,
|
||||||
|
|
Loading…
Reference in a new issue