PIPE_SHADER_MAX_CONST_BUFFER_SIZE replaced MAX_CONSTS. The former is in bytes, while the latter was in vec4s (16 bytes).
Marek On Wed, Aug 27, 2014 at 8:05 AM, Dave Airlie <airl...@gmail.com> wrote: > I think Tom cc'ed the wrong stable maybe, not sure, > > 10.2 doesn't have PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE, so this > doesn't even build. > > You might want to get a build system that builds all the drivers > before applying and fixing up patches. > > Dave. > > On 27 August 2014 06:24, Emil Velikov <emil.l.veli...@gmail.com> wrote: >> On 08/08/14 15:16, Tom Stellard wrote: >>> CC: "10.2" <mesa-sta...@lists.freedesktop.org> >>> --- >>> src/gallium/drivers/r600/r600_pipe.c | 11 ++++++++++- >>> src/gallium/drivers/radeonsi/si_pipe.c | 7 +++++++ >>> 2 files changed, 17 insertions(+), 1 deletion(-) >>> >>> diff --git a/src/gallium/drivers/r600/r600_pipe.c >>> b/src/gallium/drivers/r600/r600_pipe.c >>> index a08e70e..7ace671 100644 >>> --- a/src/gallium/drivers/r600/r600_pipe.c >>> +++ b/src/gallium/drivers/r600/r600_pipe.c >>> @@ -421,7 +421,16 @@ static int r600_get_shader_param(struct pipe_screen* >>> pscreen, unsigned shader, e >>> /* XXX Isn't this equal to TEMPS? */ >>> return 1; /* Max native address registers */ >>> case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE: >>> - return R600_MAX_CONST_BUFFER_SIZE; >>> + if (shader == PIPE_SHADER_COMPUTE) { >>> + uint64_t max_const_buffer_size; >>> + pscreen->get_compute_param(pscreen, >>> + PIPE_COMPUTE_CAP_MAX_MEM_ALLOC_SIZE, >>> + &max_const_buffer_size); >>> + return max_const_buffer_size; >>> + >>> + } else { >>> + return R600_MAX_CONST_BUFFER_SIZE; >>> + } >>> case PIPE_SHADER_CAP_MAX_CONST_BUFFERS: >>> return R600_MAX_USER_CONST_BUFFERS; >>> case PIPE_SHADER_CAP_MAX_PREDS: >>> diff --git a/src/gallium/drivers/radeonsi/si_pipe.c >>> b/src/gallium/drivers/radeonsi/si_pipe.c >>> index 635b37d..791838f 100644 >>> --- a/src/gallium/drivers/radeonsi/si_pipe.c >>> +++ b/src/gallium/drivers/radeonsi/si_pipe.c >>> @@ -327,6 +327,13 @@ static int si_get_shader_param(struct pipe_screen* >>> pscreen, unsigned shader, enu >>> case PIPE_SHADER_CAP_DOUBLES: >>> return 0; /* XXX: Enable doubles once the compiler can >>> handle them. */ >>> + case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE: { >>> + uint64_t max_const_buffer_size; >>> + pscreen->get_compute_param(pscreen, >>> + PIPE_COMPUTE_CAP_MAX_MEM_ALLOC_SIZE, >>> + &max_const_buffer_size); >>> + return max_const_buffer_size; >>> + } >>> default: >>> return 0; >>> } >>> >> >> Hello Tom, >> >> This patch does not apply cleanly to the 10.2 branch. I have resolved the >> conflicts as below. Kindly let me know if I missed anything. >> >> -Emil >> >> >> commit f40a0750a4fcd2c7f233b962a5e74166e12456ad >> Author: Tom Stellard <thomas.stell...@amd.com> >> Date: Thu Aug 7 15:31:17 2014 -0400 >> >> radeon/compute: Report a value for PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE >> >> CC: "10.2" <mesa-sta...@lists.freedesktop.org> >> (cherry picked from commit 72969e0efb7a5a011629c1001e81aa2329ede6b1) >> >> Conflicts: >> src/gallium/drivers/r600/r600_pipe.c >> src/gallium/drivers/radeonsi/si_pipe.c >> >> diff --git a/src/gallium/drivers/r600/r600_pipe.c >> b/src/gallium/drivers/r600/r600_pipe.c >> index 0668b27..6ee4484 100644 >> --- a/src/gallium/drivers/r600/r600_pipe.c >> +++ b/src/gallium/drivers/r600/r600_pipe.c >> @@ -416,6 +416,17 @@ static int r600_get_shader_param(struct pipe_screen* >> pscreen, unsigned shader, e >> return 1; /* Max native address registers */ >> case PIPE_SHADER_CAP_MAX_CONSTS: >> return R600_MAX_CONST_BUFFER_SIZE; >> + case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE: >> + if (shader == PIPE_SHADER_COMPUTE) { >> + uint64_t max_const_buffer_size; >> + pscreen->get_compute_param(pscreen, >> + PIPE_COMPUTE_CAP_MAX_MEM_ALLOC_SIZE, >> + &max_const_buffer_size); >> + return max_const_buffer_size; >> + >> + } else { >> + return R600_MAX_CONST_BUFFER_SIZE; >> + } >> case PIPE_SHADER_CAP_MAX_CONST_BUFFERS: >> return R600_MAX_USER_CONST_BUFFERS; >> case PIPE_SHADER_CAP_MAX_PREDS: >> diff --git a/src/gallium/drivers/radeonsi/si_pipe.c >> b/src/gallium/drivers/radeonsi/si_pipe.c >> index ca8cea3..afb9bcb 100644 >> --- a/src/gallium/drivers/radeonsi/si_pipe.c >> +++ b/src/gallium/drivers/radeonsi/si_pipe.c >> @@ -317,6 +317,13 @@ static int si_get_shader_param(struct pipe_screen* >> pscreen, unsigned shader, enu >> switch (param) { >> case PIPE_SHADER_CAP_PREFERRED_IR: >> return PIPE_SHADER_IR_LLVM; >> + case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE: { >> + uint64_t max_const_buffer_size; >> + pscreen->get_compute_param(pscreen, >> + PIPE_COMPUTE_CAP_MAX_MEM_ALLOC_SIZE, >> + &max_const_buffer_size); >> + return max_const_buffer_size; >> + } >> default: >> return 0; >> } >> >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev