Module: Mesa
Branch: master
Commit: da39ac9c5126825418c979989ea7e017554a0aaa
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=da39ac9c5126825418c979989ea7e017554a0aaa

Author: Rob Clark <robcl...@freedesktop.org>
Date:   Wed Jun 22 14:45:25 2016 -0400

freedreno/ir3: support non-user_buffer consts

Signed-off-by: Rob Clark <robdcl...@gmail.com>

---

 src/gallium/drivers/freedreno/freedreno_screen.c     | 6 ++++--
 src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c | 2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c 
b/src/gallium/drivers/freedreno/freedreno_screen.c
index 93b70e0..5255c10 100644
--- a/src/gallium/drivers/freedreno/freedreno_screen.c
+++ b/src/gallium/drivers/freedreno/freedreno_screen.c
@@ -156,12 +156,14 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum 
pipe_cap param)
        case PIPE_CAP_VERTEX_BUFFER_OFFSET_4BYTE_ALIGNED_ONLY:
        case PIPE_CAP_VERTEX_BUFFER_STRIDE_4BYTE_ALIGNED_ONLY:
        case PIPE_CAP_VERTEX_ELEMENT_SRC_OFFSET_4BYTE_ALIGNED_ONLY:
-       case PIPE_CAP_USER_CONSTANT_BUFFERS:
        case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
        case PIPE_CAP_VERTEXID_NOBASE:
        case PIPE_CAP_STRING_MARKER:
                return 1;
 
+       case PIPE_CAP_USER_CONSTANT_BUFFERS:
+               return is_ir3(screen) ? 0 : 1;
+
        case PIPE_CAP_SHADER_STENCIL_EXPORT:
        case PIPE_CAP_TGSI_TEXCOORD:
        case PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER:
@@ -214,7 +216,7 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum 
pipe_cap param)
                return is_a4xx(screen);
 
        case PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT:
-               return 256;
+               return 64;
 
        case PIPE_CAP_GLSL_FEATURE_LEVEL:
                if (glsl120)
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c 
b/src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c
index 04c99d1..5c7ad84 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c
+++ b/src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c
@@ -181,7 +181,7 @@ compile_init(struct ir3_compiler *compiler,
                nir_print_shader(ctx->s, stdout);
        }
 
-       so->first_driver_param = so->first_immediate = ctx->s->num_uniforms;
+       so->first_driver_param = so->first_immediate = 
align(ctx->s->num_uniforms, 4);
 
        /* Layout of constant registers:
         *

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to