summaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-06-16 14:58:25 -0700
committerJason Ekstrand <[email protected]>2016-06-22 12:39:42 -0700
commit45c0f60999587ed29a7a9b81f09950dd8f58fb49 (patch)
tree682f931b356642206724a5e794cbf336e2d6ae9c /src/intel/vulkan
parent966bed17c1a04854b4a422d90de81744556204b6 (diff)
genxml: Make ScratchSpaceBasePointer an address instead of an offset
While we're here, we also fixup MEDIA_VFE_STATE and rename the field in 3DSTATE_VS on gen6-7.5 to be consistent with the others. Signed-off-by: Jason Ekstrand <[email protected]> Cc: "12.0" <[email protected]>
Diffstat (limited to 'src/intel/vulkan')
-rw-r--r--src/intel/vulkan/gen7_pipeline.c18
-rw-r--r--src/intel/vulkan/gen8_pipeline.c15
-rw-r--r--src/intel/vulkan/genX_pipeline.c6
3 files changed, 31 insertions, 8 deletions
diff --git a/src/intel/vulkan/gen7_pipeline.c b/src/intel/vulkan/gen7_pipeline.c
index dd34d713d47..56e59a4bab5 100644
--- a/src/intel/vulkan/gen7_pipeline.c
+++ b/src/intel/vulkan/gen7_pipeline.c
@@ -250,7 +250,11 @@ genX(graphics_pipeline_create)(
else
anv_batch_emit(&pipeline->batch, GENX(3DSTATE_VS), vs) {
vs.KernelStartPointer = pipeline->vs_vec4;
- vs.ScratchSpaceBaseOffset = pipeline->scratch_start[MESA_SHADER_VERTEX];
+
+ vs.ScratchSpaceBasePointer = (struct anv_address) {
+ .bo = NULL,
+ .offset = pipeline->scratch_start[MESA_SHADER_VERTEX],
+ };
vs.PerThreadScratchSpace = scratch_space(&vs_prog_data->base.base);
vs.DispatchGRFStartRegisterforURBData =
@@ -270,7 +274,11 @@ genX(graphics_pipeline_create)(
} else {
anv_batch_emit(&pipeline->batch, GENX(3DSTATE_GS), gs) {
gs.KernelStartPointer = pipeline->gs_kernel;
- gs.ScratchSpaceBasePointer = pipeline->scratch_start[MESA_SHADER_GEOMETRY];
+
+ gs.ScratchSpaceBasePointer = (struct anv_address) {
+ .bo = NULL,
+ .offset = pipeline->scratch_start[MESA_SHADER_GEOMETRY],
+ };
gs.PerThreadScratchSpace = scratch_space(&gs_prog_data->base.base);
gs.OutputVertexSize = gs_prog_data->output_vertex_size_hwords * 2 - 1;
@@ -328,7 +336,11 @@ genX(graphics_pipeline_create)(
anv_batch_emit(&pipeline->batch, GENX(3DSTATE_PS), ps) {
ps.KernelStartPointer0 = pipeline->ps_ksp0;
- ps.ScratchSpaceBasePointer = pipeline->scratch_start[MESA_SHADER_FRAGMENT];
+
+ ps.ScratchSpaceBasePointer = (struct anv_address) {
+ .bo = NULL,
+ .offset = pipeline->scratch_start[MESA_SHADER_FRAGMENT],
+ };
ps.PerThreadScratchSpace = scratch_space(&wm_prog_data->base);
ps.MaximumNumberofThreads = device->info.max_wm_threads - 1;
ps.PushConstantEnable = wm_prog_data->base.nr_params > 0;
diff --git a/src/intel/vulkan/gen8_pipeline.c b/src/intel/vulkan/gen8_pipeline.c
index 2a96be0d9d9..53fca2b46e8 100644
--- a/src/intel/vulkan/gen8_pipeline.c
+++ b/src/intel/vulkan/gen8_pipeline.c
@@ -360,7 +360,10 @@ genX(graphics_pipeline_create)(
gs.BindingTableEntryCount = 0;
gs.ExpectedVertexCount = gs_prog_data->vertices_in;
- gs.ScratchSpaceBasePointer = pipeline->scratch_start[MESA_SHADER_GEOMETRY];
+ gs.ScratchSpaceBasePointer = (struct anv_address) {
+ .bo = NULL,
+ .offset = pipeline->scratch_start[MESA_SHADER_GEOMETRY],
+ };
gs.PerThreadScratchSpace = scratch_space(&gs_prog_data->base.base);
gs.OutputVertexSize = gs_prog_data->output_vertex_size_hwords * 2 - 1;
gs.OutputTopology = gs_prog_data->output_topology;
@@ -427,7 +430,10 @@ genX(graphics_pipeline_create)(
vs.AccessesUAV = false;
vs.SoftwareExceptionEnable = false;
- vs.ScratchSpaceBasePointer = pipeline->scratch_start[MESA_SHADER_VERTEX],
+ vs.ScratchSpaceBasePointer = (struct anv_address) {
+ .bo = NULL,
+ .offset = pipeline->scratch_start[MESA_SHADER_VERTEX],
+ };
vs.PerThreadScratchSpace = scratch_space(&vs_prog_data->base.base);
vs.DispatchGRFStartRegisterForURBData =
@@ -476,7 +482,10 @@ genX(graphics_pipeline_create)(
ps.MaximumNumberofThreadsPerPSD = 64 - num_thread_bias;
- ps.ScratchSpaceBasePointer = pipeline->scratch_start[MESA_SHADER_FRAGMENT];
+ ps.ScratchSpaceBasePointer = (struct anv_address) {
+ .bo = NULL,
+ .offset = pipeline->scratch_start[MESA_SHADER_FRAGMENT],
+ };
ps.PerThreadScratchSpace = scratch_space(&wm_prog_data->base);
ps.DispatchGRFStartRegisterForConstantSetupData0 =
diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c
index 458e80c82b1..736044889b8 100644
--- a/src/intel/vulkan/genX_pipeline.c
+++ b/src/intel/vulkan/genX_pipeline.c
@@ -102,10 +102,12 @@ genX(compute_pipeline_create)(
cs_prog_data->push.cross_thread.regs, 2);
anv_batch_emit(&pipeline->batch, GENX(MEDIA_VFE_STATE), vfe) {
- vfe.ScratchSpaceBasePointer = pipeline->scratch_start[MESA_SHADER_COMPUTE];
+ vfe.ScratchSpaceBasePointer = (struct anv_address) {
+ .bo = NULL,
+ .offset = pipeline->scratch_start[MESA_SHADER_COMPUTE],
+ };
vfe.PerThreadScratchSpace = ffs(cs_prog_data->base.total_scratch / 2048);
#if GEN_GEN > 7
- vfe.ScratchSpaceBasePointerHigh = 0;
vfe.StackSize = 0;
#else
vfe.GPGPUMode = true;