anv/gen8_pipeline: Various 3DSTATE_GS fixes
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 23 Oct 2015 23:49:26 +0000 (16:49 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Fri, 23 Oct 2015 23:49:26 +0000 (16:49 -0700)
src/vulkan/gen8_pipeline.c

index 6d0edf0ec871356c6426dae6f8b49a0294c64ac0..3468ce02154604f10271eb5912ae98b0378af732 100644 (file)
@@ -412,7 +412,7 @@ gen8_graphics_pipeline_create(
       anv_batch_emit(&pipeline->batch, GEN8_3DSTATE_GS,
                      .SingleProgramFlow = false,
                      .KernelStartPointer = pipeline->gs_vec4,
-                     .VectorMaskEnable = Vmask,
+                     .VectorMaskEnable = Dmask,
                      .SamplerCount = 0,
                      .BindingTableEntryCount = 0,
                      .ExpectedVertexCount = pipeline->gs_vertex_count,
@@ -428,7 +428,7 @@ gen8_graphics_pipeline_create(
 
                      .MaximumNumberofThreads = device->info.max_gs_threads / 2 - 1,
                      .ControlDataHeaderSize = gs_prog_data->control_data_header_size_hwords,
-                     //pipeline->gs_prog_data.dispatch_mode |
+                     .DispatchMode = gs_prog_data->base.dispatch_mode,
                      .StatisticsEnable = true,
                      .IncludePrimitiveID = gs_prog_data->include_primitive_id,
                      .ReorderMode = TRAILING,
@@ -436,6 +436,11 @@ gen8_graphics_pipeline_create(
 
                      .ControlDataFormat = gs_prog_data->control_data_format,
 
+                     .StaticOutput = gs_prog_data->static_vertex_count >= 0,
+                     .StaticOutputVertexCount =
+                        gs_prog_data->static_vertex_count >= 0 ?
+                        gs_prog_data->static_vertex_count : 0,
+
                      /* FIXME: mesa sets this based on ctx->Transform.ClipPlanesEnabled:
                       * UserClipDistanceClipTestEnableBitmask_3DSTATE_GS(v)
                       * UserClipDistanceCullTestEnableBitmask(v)