diff --git a/src/gallium/drivers/r300/ci/r300-rv530-nohiz-fails.txt b/src/gallium/drivers/r300/ci/r300-rv530-nohiz-fails.txt index a981dd6fe95..47540f540c7 100644 --- a/src/gallium/drivers/r300/ci/r300-rv530-nohiz-fails.txt +++ b/src/gallium/drivers/r300/ci/r300-rv530-nohiz-fails.txt @@ -376,12 +376,6 @@ spec@!opengl 1.0@gl-1.0-blend-func,Fail spec@!opengl 1.0@gl-1.0-edgeflag,Fail spec@!opengl 1.0@gl-1.0-edgeflag-quads,Fail spec@!opengl 1.0@gl-1.0-no-op-paths,Fail -spec@!opengl 1.0@gl-1.0-rendermode-feedback,Fail -spec@!opengl 1.0@gl-1.0-rendermode-feedback@GL_2D,Fail -spec@!opengl 1.0@gl-1.0-rendermode-feedback@GL_3D,Fail -spec@!opengl 1.0@gl-1.0-rendermode-feedback@GL_3D_COLOR,Fail -spec@!opengl 1.0@gl-1.0-rendermode-feedback@GL_3D_COLOR_TEXTURE,Fail -spec@!opengl 1.0@gl-1.0-rendermode-feedback@GL_4D_COLOR_TEXTURE,Fail spec@!opengl 1.0@gl-1.0-scissor-offscreen,Fail spec@!opengl 1.1@depthstencil-default_fb-blit samples=2,Fail @@ -407,11 +401,6 @@ spec@!opengl 1.1@getteximage-formats,Fail spec@!opengl 1.1@getteximage-simple,Fail spec@!opengl 1.1@gl-1.1-read-pixels-after-display-list,Fail spec@!opengl 1.1@gl-1.2-texture-base-level,Fail -spec@!opengl 1.1@gl_select - alpha-test enabled,Fail -spec@!opengl 1.1@gl_select - depth-test enabled,Fail -spec@!opengl 1.1@gl_select - no test function,Fail -spec@!opengl 1.1@gl_select - scissor-test enabled,Fail -spec@!opengl 1.1@gl_select - stencil-test enabled,Fail spec@!opengl 1.1@line-aa-width,Fail spec@!opengl 1.1@line-smooth-stipple,Fail spec@!opengl 1.1@linestipple,Fail diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c index c71a20c58a9..f71708a1e9b 100644 --- a/src/mesa/state_tracker/st_program.c +++ b/src/mesa/state_tracker/st_program.c @@ -635,7 +635,7 @@ static const struct nir_shader_compiler_options draw_nir_options = { static struct nir_shader * get_nir_shader(struct st_context *st, struct gl_program *prog, bool is_draw) { - if (!is_draw && prog->nir) { + if ((!is_draw || !st->ctx->Const.PackedDriverUniformStorage) && prog->nir) { nir_shader *nir = prog->nir; /* The first shader variant takes ownership of NIR, so that there is @@ -651,7 +651,8 @@ get_nir_shader(struct st_context *st, struct gl_program *prog, bool is_draw) const struct nir_shader_compiler_options *options = is_draw ? &draw_nir_options : st_get_nir_compiler_options(st, prog->info.stage); - if (is_draw && (!prog->shader_program || prog->shader_program->data->LinkStatus != LINKING_SKIPPED)) { + if (is_draw && st->ctx->Const.PackedDriverUniformStorage && + (!prog->shader_program || prog->shader_program->data->LinkStatus != LINKING_SKIPPED)) { assert(prog->base_serialized_nir); blob_reader_init(&blob_reader, prog->base_serialized_nir, prog->base_serialized_nir_size); } else {