i965: Make TCS precompile use the TES primitive mode when available.
authorKenneth Graunke <kenneth@whitecape.org>
Sat, 2 Jan 2016 06:27:22 +0000 (22:27 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Sun, 3 Jan 2016 02:46:16 +0000 (18:46 -0800)
If there's a linked TES program, we should just use the actual
primitive mode.  If not, just guess triangles (as we did before).

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
src/mesa/drivers/dri/i965/brw_tcs.c

index 2c925e7f572336a0644ad4eb5cd2c0b7fa5f6390..7e4142602843640098ac3322a3cf5549d3351ba8 100644 (file)
@@ -307,7 +307,9 @@ brw_tcs_precompile(struct gl_context *ctx,
    /* Guess that the input and output patches have the same dimensionality. */
    key.input_vertices = shader_prog->TessCtrl.VerticesOut;
 
-   key.tes_primitive_mode = GL_TRIANGLES;
+   key.tes_primitive_mode =
+      shader_prog->_LinkedShaders[MESA_SHADER_TESS_EVAL] ?
+      shader_prog->TessEval.PrimitiveMode : GL_TRIANGLES;
 
    key.outputs_written = prog->OutputsWritten;
    key.patch_outputs_written = prog->PatchOutputsWritten;