intel: allocate a separate surface state bo
Add INTEL_CMD_WRITER_SURFACE to intel_cmd, and write BINDING_TABLE_STATEs and
SURFACE_STATEs to the new writer. Fix cmd_batch_state_base_address() up for
the separation.
diff --git a/icd/intel/cmd.c b/icd/intel/cmd.c
index 4d38da3..47f8629 100644
--- a/icd/intel/cmd.c
+++ b/icd/intel/cmd.c
@@ -82,6 +82,8 @@
{
static const char *writer_names[INTEL_CMD_WRITER_COUNT] = {
[INTEL_CMD_WRITER_BATCH] = "batch",
+ [INTEL_CMD_WRITER_SURFACE] = "surface",
+ [INTEL_CMD_WRITER_STATE] = "state",
[INTEL_CMD_WRITER_INSTRUCTION] = "instruction",
};
@@ -350,7 +352,8 @@
divider *= 4;
cmd->writers[INTEL_CMD_WRITER_BATCH].size = size / divider;
- cmd->writers[INTEL_CMD_WRITER_STATE].size = size / divider;
+ cmd->writers[INTEL_CMD_WRITER_SURFACE].size = size / divider / 2;
+ cmd->writers[INTEL_CMD_WRITER_STATE].size = size / divider / 2;
cmd->writers[INTEL_CMD_WRITER_INSTRUCTION].size = 16384 / divider;
}