diff options
author | Andres Gomez <agomez@igalia.com> | 2016-06-29 16:02:27 +0300 |
---|---|---|
committer | Andres Gomez <agomez@igalia.com> | 2016-06-30 16:20:22 +0300 |
commit | c4e47ab971f8a7ee5e6c34e3e29a6fc3d06d4414 (patch) | |
tree | 892631d902fb19751bc6fe0d18722261f2c34689 | |
parent | 1591e668e162daf4057a0d44df4e70f19b94fc76 (diff) |
Revert "i965: get PrimitiveMode from the program rather than the shader struct"
This reverts commit 644e015f0b9236e955d679cac4bcc7a1523fc475.
PrimitiveMode from the program doesn't always hold a valid value that
is neither of GL_TRIANGLES, GL_QUADS nor GL_ISOLINES when reaching
this code. This caused regressions in the following CTS tests:
GL44-CTS.stencil_texturing.functional
GL44-CTS.shading_language_420pack.binding_images
GL44-CTS.shading_language_420pack.binding_samplers
GL44-CTS.shading_language_420pack.binding_uniform_single_block
GL44-CTS.shading_language_420pack.implicit_conversions
GL44-CTS.shading_language_420pack.initializer_list
GL44-CTS.shading_language_420pack.length_of_vector_and_matrix
GL44-CTS.shading_language_420pack.line_continuation
Hence, we rather take it from the linked shader.
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
Signed-off-by: Andres Gomez <agomez@igalia.com>
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_tcs.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_tcs.c b/src/mesa/drivers/dri/i965/brw_tcs.c index 28e2f36f94e0..acfd1e5770bc 100644 --- a/src/mesa/drivers/dri/i965/brw_tcs.c +++ b/src/mesa/drivers/dri/i965/brw_tcs.c @@ -395,8 +395,9 @@ brw_tcs_precompile(struct gl_context *ctx, _LinkedShaders[MESA_SHADER_TESS_CTRL]->info.TessCtrl.VerticesOut; } - key.tes_primitive_mode = brw->tess_eval_program ? - brw->tess_eval_program->PrimitiveMode : GL_TRIANGLES; + key.tes_primitive_mode = shader_prog->_LinkedShaders[MESA_SHADER_TESS_EVAL] + ? shader_prog->_LinkedShaders[MESA_SHADER_TESS_EVAL]->info.TessEval.PrimitiveMode + : GL_TRIANGLES; key.outputs_written = prog->OutputsWritten; key.patch_outputs_written = prog->PatchOutputsWritten; |