summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2014-12-30 23:49:59 +0100
committerMarek Olšák <marek.olsak@amd.com>2015-01-07 12:06:43 +0100
commit9141d8855555e45a057970e78969e1518ad3617d (patch)
treeac48f03712634f6dfd47c8f2a8081790ca25f3ef /src
parent1b82eb677de63ec49f56800b81ac49b79fc5576a (diff)
downloadexternal_mesa3d-9141d8855555e45a057970e78969e1518ad3617d.zip
external_mesa3d-9141d8855555e45a057970e78969e1518ad3617d.tar.gz
external_mesa3d-9141d8855555e45a057970e78969e1518ad3617d.tar.bz2
radeonsi: reduce the size of si_pm4_state
- the relocs array is unused, remove it - ndw is at most 115 (init), set 140 as the maximum - compute needs 4 buffers per state, graphics only needs 1; set 4 as the maximum Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/radeonsi/si_pm4.c6
-rw-r--r--src/gallium/drivers/radeonsi/si_pm4.h9
2 files changed, 3 insertions, 12 deletions
diff --git a/src/gallium/drivers/radeonsi/si_pm4.c b/src/gallium/drivers/radeonsi/si_pm4.c
index 954eb6e..21ab9f2 100644
--- a/src/gallium/drivers/radeonsi/si_pm4.c
+++ b/src/gallium/drivers/radeonsi/si_pm4.c
@@ -145,17 +145,13 @@ unsigned si_pm4_dirty_dw(struct si_context *sctx)
void si_pm4_emit(struct si_context *sctx, struct si_pm4_state *state)
{
struct radeon_winsys_cs *cs = sctx->b.rings.gfx.cs;
+
for (int i = 0; i < state->nbo; ++i) {
r600_context_bo_reloc(&sctx->b, &sctx->b.rings.gfx, state->bo[i],
state->bo_usage[i], state->bo_priority[i]);
}
memcpy(&cs->buf[cs->cdw], state->pm4, state->ndw * 4);
-
- for (int i = 0; i < state->nrelocs; ++i) {
- cs->buf[cs->cdw + state->relocs[i]] += cs->cdw << 2;
- }
-
cs->cdw += state->ndw;
#if SI_TRACE_CS
diff --git a/src/gallium/drivers/radeonsi/si_pm4.h b/src/gallium/drivers/radeonsi/si_pm4.h
index 8680a9e..388bb4b 100644
--- a/src/gallium/drivers/radeonsi/si_pm4.h
+++ b/src/gallium/drivers/radeonsi/si_pm4.h
@@ -29,9 +29,8 @@
#include "radeon/drm/radeon_winsys.h"
-#define SI_PM4_MAX_DW 256
-#define SI_PM4_MAX_BO 32
-#define SI_PM4_MAX_RELOCS 4
+#define SI_PM4_MAX_DW 140
+#define SI_PM4_MAX_BO 4
// forward defines
struct si_context;
@@ -54,10 +53,6 @@ struct si_pm4_state
enum radeon_bo_usage bo_usage[SI_PM4_MAX_BO];
enum radeon_bo_priority bo_priority[SI_PM4_MAX_BO];
- /* relocs for shader data */
- unsigned nrelocs;
- unsigned relocs[SI_PM4_MAX_RELOCS];
-
bool compute_pkt;
};