glsl: do not count bindless samplers/images when linking uniforms
From section 2.14.8 of the ARB_bindless_texture spec: "(modify second paragraph, p. 126) ... against the MAX_COMBINED_TEXTURE_IMAGE_UNITS limit. Samplers accessed using texture handles (section 3.9.X) are not counted against this limit." Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:
@@ -339,11 +339,11 @@ private:
|
||||
const unsigned values = type->component_slots();
|
||||
if (type->contains_subroutine()) {
|
||||
this->num_shader_subroutines += values;
|
||||
} else if (type->contains_sampler()) {
|
||||
} else if (type->contains_sampler() && !current_var->data.bindless) {
|
||||
/* Samplers (bound or bindless) are counted as two components as
|
||||
* specified by ARB_bindless_texture. */
|
||||
this->num_shader_samplers += values / 2;
|
||||
} else if (type->contains_image()) {
|
||||
} else if (type->contains_image() && !current_var->data.bindless) {
|
||||
/* Images (bound or bindless) are counted as two components as
|
||||
* specified by ARB_bindless_texture. */
|
||||
this->num_shader_images += values / 2;
|
||||
|
Reference in New Issue
Block a user