diff --git a/src/freedreno/fdl/fd6_view.c b/src/freedreno/fdl/fd6_view.c
index fb5acdf36e5..e950953b375 100644
--- a/src/freedreno/fdl/fd6_view.c
+++ b/src/freedreno/fdl/fd6_view.c
@@ -48,6 +48,7 @@ fdl6_tex_type(enum fdl_view_type type, bool storage)
STATIC_ASSERT((unsigned) FDL_VIEW_TYPE_2D == (unsigned) A6XX_TEX_2D);
STATIC_ASSERT((unsigned) FDL_VIEW_TYPE_CUBE == (unsigned) A6XX_TEX_CUBE);
STATIC_ASSERT((unsigned) FDL_VIEW_TYPE_3D == (unsigned) A6XX_TEX_3D);
+ STATIC_ASSERT((unsigned) FDL_VIEW_TYPE_BUFFER == (unsigned) A6XX_TEX_BUFFER);
return (storage && type == FDL_VIEW_TYPE_CUBE) ?
A6XX_TEX_2D : (enum a6xx_tex_type) type;
@@ -392,7 +393,8 @@ fdl6_buffer_view_init(uint32_t *descriptor, enum pipe_format format,
COND(util_format_is_srgb(format), A6XX_TEX_CONST_0_SRGB);
descriptor[1] = A6XX_TEX_CONST_1_WIDTH(elements & ((1 << 15) - 1)) |
A6XX_TEX_CONST_1_HEIGHT(elements >> 15);
- descriptor[2] = A6XX_TEX_CONST_2_UNK4 | A6XX_TEX_CONST_2_UNK31;
+ descriptor[2] = A6XX_TEX_CONST_2_BUFFER |
+ A6XX_TEX_CONST_2_TYPE(A6XX_TEX_BUFFER);
descriptor[4] = iova;
descriptor[5] = iova >> 32;
}
diff --git a/src/freedreno/fdl/freedreno_layout.h b/src/freedreno/fdl/freedreno_layout.h
index 207aea04224..37a565b338d 100644
--- a/src/freedreno/fdl/freedreno_layout.h
+++ b/src/freedreno/fdl/freedreno_layout.h
@@ -261,6 +261,7 @@ enum fdl_view_type {
FDL_VIEW_TYPE_2D = 1,
FDL_VIEW_TYPE_CUBE = 2,
FDL_VIEW_TYPE_3D = 3,
+ FDL_VIEW_TYPE_BUFFER = 4,
};
enum fdl_chroma_location {
diff --git a/src/freedreno/registers/adreno/a6xx.xml b/src/freedreno/registers/adreno/a6xx.xml
index 4a966dee8f0..567eb46385c 100644
--- a/src/freedreno/registers/adreno/a6xx.xml
+++ b/src/freedreno/registers/adreno/a6xx.xml
@@ -3785,6 +3785,7 @@ to upconvert to 32b float internally?
+
@@ -3813,13 +3814,12 @@ to upconvert to 32b float internally?
b31 is probably the 'BUFFER' bit.. it is the one that changes
behavior of texture in dEQP-GLES31.functional.texture.texture_buffer.render.as_fragment_texture.buffer_size_131071
-->
-
+
Pitch in bytes (so actually stride)
-
-
+