summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2017-08-03 00:33:47 -0700
committerKenneth Graunke <[email protected]>2017-08-08 14:26:24 -0700
commit2a0b3c781c3a96d843ea39472a6356eee2364301 (patch)
treeae2e408acf451210890186e81eabf7c210dd3f56
parentc12c2e40a36f707f733c0d6ad90160472b7a3cf6 (diff)
i965: Get rid of KSP_ro
The GPU reads the shader kernel from the program cache BO. It never writes it, so using a read-write BO reference makes no sense. Just make KSP read-only, and drop KSP_ro. Reviewed-by: Chris Wilson <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i965/genX_state_upload.c19
1 files changed, 4 insertions, 15 deletions
diff --git a/src/mesa/drivers/dri/i965/genX_state_upload.c b/src/mesa/drivers/dri/i965/genX_state_upload.c
index 03f3360ac56..b5f94c833cb 100644
--- a/src/mesa/drivers/dri/i965/genX_state_upload.c
+++ b/src/mesa/drivers/dri/i965/genX_state_upload.c
@@ -151,12 +151,6 @@ vertex_bo(struct brw_bo *bo, uint32_t offset)
static inline struct brw_address
KSP(struct brw_context *brw, uint32_t offset)
{
- return instruction_bo(brw->cache.bo, offset);
-}
-
-static inline struct brw_address
-KSP_ro(struct brw_context *brw, uint32_t offset)
-{
return instruction_ro_bo(brw->cache.bo, offset);
}
#else
@@ -165,9 +159,6 @@ KSP(struct brw_context *brw, uint32_t offset)
{
return offset;
}
-
-#define KSP_ro KSP
-
#endif
#include "genxml/genX_pack.h"
@@ -1267,7 +1258,7 @@ genX(upload_clip_state)(struct brw_context *brw)
ctx->NewDriverState |= BRW_NEW_GEN4_UNIT_STATE;
brw_state_emit(brw, GENX(CLIP_STATE), 32, &brw->clip.state_offset, clip) {
- clip.KernelStartPointer = KSP_ro(brw, brw->clip.prog_offset);
+ clip.KernelStartPointer = KSP(brw, brw->clip.prog_offset);
clip.GRFRegisterCount =
DIV_ROUND_UP(brw->clip.prog_data->total_grf, 16) - 1;
clip.FloatingPointMode = FLOATING_POINT_MODE_Alternate;
@@ -1507,7 +1498,7 @@ genX(upload_sf)(struct brw_context *brw)
ctx->NewDriverState |= BRW_NEW_GEN4_UNIT_STATE;
brw_state_emit(brw, GENX(SF_STATE), 64, &brw->sf.state_offset, sf) {
- sf.KernelStartPointer = KSP_ro(brw, brw->sf.prog_offset);
+ sf.KernelStartPointer = KSP(brw, brw->sf.prog_offset);
sf.FloatingPointMode = FLOATING_POINT_MODE_Alternate;
sf.GRFRegisterCount = DIV_ROUND_UP(sf_prog_data->total_grf, 16) - 1;
sf.DispatchGRFStartRegisterForURBData = 3;
@@ -1863,15 +1854,13 @@ genX(upload_wm)(struct brw_context *brw)
wm_prog_data->base.dispatch_grf_start_reg;
if (GEN_GEN == 6 ||
wm_prog_data->dispatch_8 || wm_prog_data->dispatch_16) {
- wm.KernelStartPointer0 = KSP_ro(brw,
- stage_state->prog_offset);
+ wm.KernelStartPointer0 = KSP(brw, stage_state->prog_offset);
}
#if GEN_GEN >= 5
if (GEN_GEN == 6 || wm_prog_data->prog_offset_2) {
wm.KernelStartPointer2 =
- KSP_ro(brw, stage_state->prog_offset +
- wm_prog_data->prog_offset_2);
+ KSP(brw, stage_state->prog_offset + wm_prog_data->prog_offset_2);
}
#endif