[Piglit] [PATCH 4/4] arb_shader_image_load_store/grid: Iterate over all known shader stages in generate_program_v().

Francisco Jerez currojerez at riseup.net
Tue May 12 05:39:14 PDT 2015


Rather than over all stages that support images.  Implies that the
stage index has to be calculated differently because the stage pointer
may no longer be based on the image_stages() array.  Fixes a number of
tests that were relying on a vertex shader to be present regardless of
the implementation supporting images on that stage, which is optional
according to the spec.
---
 tests/spec/arb_shader_image_load_store/grid.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/spec/arb_shader_image_load_store/grid.c b/tests/spec/arb_shader_image_load_store/grid.c
index 766d968..97e4126 100644
--- a/tests/spec/arb_shader_image_load_store/grid.c
+++ b/tests/spec/arb_shader_image_load_store/grid.c
@@ -243,7 +243,7 @@ generate_stage_source(const struct grid_info grid,
 static inline unsigned
 get_stage_idx(const struct image_stage_info *stage)
 {
-        return stage - image_stages();
+        return ffs(stage->bit);
 }
 
 /**
@@ -270,7 +270,7 @@ generate_program_v(const struct grid_info grid, const char **sources)
         GLuint prog = glCreateProgram();
         const struct image_stage_info *stage;
 
-        for (stage = image_stages(); stage->stage; ++stage) {
+        for (stage = known_image_stages(); stage->stage; ++stage) {
                 if (stages & stage->bit) {
                         char *source = generate_stage_source(
                                 grid, stage->stage,
-- 
2.3.5



More information about the Piglit mailing list