diff --git a/src/freedreno/registers/a6xx.xml b/src/freedreno/registers/a6xx.xml
index 393914879b6..4d83a5dd2cf 100644
--- a/src/freedreno/registers/a6xx.xml
+++ b/src/freedreno/registers/a6xx.xml
@@ -1825,9 +1825,18 @@ to upconvert to 32b float internally?
+
-
-
+
+
+
+
+
+
+
+
+
+
@@ -1891,6 +1900,10 @@ to upconvert to 32b float internally?
+
+
+
+
@@ -1961,8 +1974,9 @@ to upconvert to 32b float internally?
-
-
+
+
+
@@ -2367,11 +2381,18 @@ to upconvert to 32b float internally?
+
+
+
+
+
+
+
@@ -2441,6 +2462,22 @@ to upconvert to 32b float internally?
+
+
+ num of varyings plus four for gl_Position (plus one if gl_PointSize)
+ plus # of transform-feedback (streamout) varyings if using the
+ hw streamout (rather than stg instructions in shader)
+
+
+
+
+
+
+
domain shader version of VPC_PACK
@@ -2529,6 +2566,16 @@ to upconvert to 32b float internally?
+
+
+ geometry shader
+
+
+
+
+
+
+
hull shader?
@@ -2551,8 +2598,22 @@ to upconvert to 32b float internally?
-
-
+
+
+ geometry shader
+
+
+
+
+
+
+
+
+ size in vec4s of per-primitive storage for gs
+
+
+
+
@@ -2581,6 +2642,7 @@ to upconvert to 32b float internally?
+
@@ -2737,6 +2799,31 @@ to upconvert to 32b float internally?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2761,6 +2848,14 @@ to upconvert to 32b float internally?
+
+
+
+
+
+
+
+
diff --git a/src/freedreno/registers/adreno_pm4.xml b/src/freedreno/registers/adreno_pm4.xml
index 05ed02cf10c..23705a7cad9 100644
--- a/src/freedreno/registers/adreno_pm4.xml
+++ b/src/freedreno/registers/adreno_pm4.xml
@@ -643,6 +643,7 @@ opcode: CP_LOAD_STATE4 (30) (4 dwords)
+
diff --git a/src/freedreno/vulkan/tu_cmd_buffer.c b/src/freedreno/vulkan/tu_cmd_buffer.c
index 505a3ca0097..fdc3a8d1436 100644
--- a/src/freedreno/vulkan/tu_cmd_buffer.c
+++ b/src/freedreno/vulkan/tu_cmd_buffer.c
@@ -953,8 +953,8 @@ tu6_init_hw(struct tu_cmd_buffer *cmd, struct tu_cs *cs)
tu_cs_emit_write_reg(cs, REG_A6XX_PC_UNKNOWN_9806, 0);
tu_cs_emit_write_reg(cs, REG_A6XX_PC_UNKNOWN_9980, 0);
- tu_cs_emit_write_reg(cs, REG_A6XX_PC_UNKNOWN_9B06, 0);
- tu_cs_emit_write_reg(cs, REG_A6XX_PC_UNKNOWN_9B06, 0);
+ tu_cs_emit_write_reg(cs, REG_A6XX_PC_PRIMITIVE_CNTL_6, 0);
+ tu_cs_emit_write_reg(cs, REG_A6XX_PC_UNKNOWN_9B07, 0);
tu_cs_emit_write_reg(cs, REG_A6XX_SP_UNKNOWN_A81B, 0);
diff --git a/src/freedreno/vulkan/tu_pipeline.c b/src/freedreno/vulkan/tu_pipeline.c
index ec375a4f794..03df9f97dfa 100644
--- a/src/freedreno/vulkan/tu_pipeline.c
+++ b/src/freedreno/vulkan/tu_pipeline.c
@@ -1141,7 +1141,7 @@ tu6_emit_gras_unknowns(struct tu_cs *cs)
tu_cs_emit(cs, 0x80);
tu_cs_emit_pkt4(cs, REG_A6XX_GRAS_UNKNOWN_8001, 1);
tu_cs_emit(cs, 0x0);
- tu_cs_emit_pkt4(cs, REG_A6XX_GRAS_UNKNOWN_8004, 1);
+ tu_cs_emit_pkt4(cs, REG_A6XX_GRAS_LAYER_CNTL, 1);
tu_cs_emit(cs, 0x0);
}
diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_emit.c b/src/gallium/drivers/freedreno/a6xx/fd6_emit.c
index a0d2259398b..eb4bb3160af 100644
--- a/src/gallium/drivers/freedreno/a6xx/fd6_emit.c
+++ b/src/gallium/drivers/freedreno/a6xx/fd6_emit.c
@@ -1261,8 +1261,8 @@ t7 opcode: CP_WAIT_FOR_IDLE (26) (1 dwords)
WRITE(REG_A6XX_PC_UNKNOWN_9806, 0);
WRITE(REG_A6XX_PC_UNKNOWN_9980, 0);
- WRITE(REG_A6XX_PC_UNKNOWN_9B06, 0);
- WRITE(REG_A6XX_PC_UNKNOWN_9B06, 0);
+ WRITE(REG_A6XX_PC_PRIMITIVE_CNTL_6, 0);
+ WRITE(REG_A6XX_PC_UNKNOWN_9B07, 0);
WRITE(REG_A6XX_SP_UNKNOWN_A81B, 0);
diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_rasterizer.c b/src/gallium/drivers/freedreno/a6xx/fd6_rasterizer.c
index a50e471c68f..ef4cdc03577 100644
--- a/src/gallium/drivers/freedreno/a6xx/fd6_rasterizer.c
+++ b/src/gallium/drivers/freedreno/a6xx/fd6_rasterizer.c
@@ -111,7 +111,7 @@ fd6_rasterizer_state_create(struct pipe_context *pctx,
OUT_RING(ring, 0x80);
OUT_PKT4(ring, REG_A6XX_GRAS_UNKNOWN_8001, 1);
OUT_RING(ring, 0x0);
- OUT_PKT4(ring, REG_A6XX_GRAS_UNKNOWN_8004, 1);
+ OUT_PKT4(ring, REG_A6XX_GRAS_LAYER_CNTL, 1);
OUT_RING(ring, 0x0);
OUT_PKT4(ring, REG_A6XX_GRAS_SU_CNTL, 1);