mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 19:58:09 +02:00
gallium/aux: remove aux shader param get function
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Acked-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33176>
This commit is contained in:
parent
4e0f722fc1
commit
cb251ff3d0
4 changed files with 2 additions and 174 deletions
|
|
@ -1162,51 +1162,12 @@ draw_set_mapped_image(struct draw_context *draw,
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* XXX: Results for PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS because there are two
|
* XXX: Results for pipe_shader_caps.max_texture_samplers because there are two
|
||||||
* different ways of setting textures, and drivers typically only support one.
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
draw_get_shader_param_no_llvm(enum pipe_shader_type shader,
|
|
||||||
enum pipe_shader_cap param)
|
|
||||||
{
|
|
||||||
switch(shader) {
|
|
||||||
case PIPE_SHADER_VERTEX:
|
|
||||||
case PIPE_SHADER_GEOMETRY:
|
|
||||||
return tgsi_exec_get_shader_param(param);
|
|
||||||
default:
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* XXX: Results for PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS because there are two
|
|
||||||
* different ways of setting textures, and drivers typically only support one.
|
* different ways of setting textures, and drivers typically only support one.
|
||||||
* Drivers requesting a draw context explicitly without llvm must call
|
* Drivers requesting a draw context explicitly without llvm must call
|
||||||
* draw_get_shader_param_no_llvm instead.
|
* tgsi_exec_init_shader_caps instead.
|
||||||
*/
|
*/
|
||||||
int
|
|
||||||
draw_get_shader_param(enum pipe_shader_type shader, enum pipe_shader_cap param)
|
|
||||||
{
|
|
||||||
#if DRAW_LLVM_AVAILABLE
|
|
||||||
if (draw_get_option_use_llvm()) {
|
|
||||||
switch(shader) {
|
|
||||||
case PIPE_SHADER_VERTEX:
|
|
||||||
case PIPE_SHADER_GEOMETRY:
|
|
||||||
case PIPE_SHADER_TESS_CTRL:
|
|
||||||
case PIPE_SHADER_TESS_EVAL:
|
|
||||||
return gallivm_get_shader_param(param);
|
|
||||||
default:
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return draw_get_shader_param_no_llvm(shader, param);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
draw_init_shader_caps(struct pipe_shader_caps *caps)
|
draw_init_shader_caps(struct pipe_shader_caps *caps)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -410,13 +410,6 @@ draw_need_pipeline(const struct draw_context *draw,
|
||||||
const struct pipe_rasterizer_state *rasterizer,
|
const struct pipe_rasterizer_state *rasterizer,
|
||||||
enum mesa_prim prim);
|
enum mesa_prim prim);
|
||||||
|
|
||||||
int
|
|
||||||
draw_get_shader_param(enum pipe_shader_type shader, enum pipe_shader_cap param);
|
|
||||||
|
|
||||||
int
|
|
||||||
draw_get_shader_param_no_llvm(enum pipe_shader_type shader,
|
|
||||||
enum pipe_shader_cap param);
|
|
||||||
|
|
||||||
void
|
void
|
||||||
draw_init_shader_caps(struct pipe_shader_caps *caps);
|
draw_init_shader_caps(struct pipe_shader_caps *caps);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -95,70 +95,6 @@ lp_has_fp16(void)
|
||||||
* actually try to allocate the maximum and run out of memory and crash. So
|
* actually try to allocate the maximum and run out of memory and crash. So
|
||||||
* stick with something reasonable here.
|
* stick with something reasonable here.
|
||||||
*/
|
*/
|
||||||
static inline int
|
|
||||||
gallivm_get_shader_param(enum pipe_shader_cap param)
|
|
||||||
{
|
|
||||||
switch(param) {
|
|
||||||
case PIPE_SHADER_CAP_MAX_INSTRUCTIONS:
|
|
||||||
case PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS:
|
|
||||||
case PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS:
|
|
||||||
case PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS:
|
|
||||||
return 1 * 1024 * 1024;
|
|
||||||
case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH:
|
|
||||||
return LP_MAX_TGSI_NESTING;
|
|
||||||
case PIPE_SHADER_CAP_MAX_INPUTS:
|
|
||||||
return 32;
|
|
||||||
case PIPE_SHADER_CAP_MAX_OUTPUTS:
|
|
||||||
return 32;
|
|
||||||
case PIPE_SHADER_CAP_MAX_CONST_BUFFER0_SIZE:
|
|
||||||
return LP_MAX_TGSI_CONST_BUFFER_SIZE;
|
|
||||||
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
|
||||||
return LP_MAX_TGSI_CONST_BUFFERS;
|
|
||||||
case PIPE_SHADER_CAP_MAX_TEMPS:
|
|
||||||
return LP_MAX_TGSI_TEMPS;
|
|
||||||
case PIPE_SHADER_CAP_CONT_SUPPORTED:
|
|
||||||
return 1;
|
|
||||||
case PIPE_SHADER_CAP_INDIRECT_TEMP_ADDR:
|
|
||||||
case PIPE_SHADER_CAP_INDIRECT_CONST_ADDR:
|
|
||||||
return 1;
|
|
||||||
case PIPE_SHADER_CAP_SUBROUTINES:
|
|
||||||
return 1;
|
|
||||||
case PIPE_SHADER_CAP_INTEGERS:
|
|
||||||
return 1;
|
|
||||||
case PIPE_SHADER_CAP_FP16:
|
|
||||||
case PIPE_SHADER_CAP_FP16_DERIVATIVES:
|
|
||||||
return lp_has_fp16();
|
|
||||||
//enabling this breaks GTF-GL46.gtf21.GL2Tests.glGetUniform.glGetUniform
|
|
||||||
case PIPE_SHADER_CAP_FP16_CONST_BUFFERS:
|
|
||||||
return 0;
|
|
||||||
case PIPE_SHADER_CAP_INT64_ATOMICS:
|
|
||||||
return 0;
|
|
||||||
case PIPE_SHADER_CAP_INT16:
|
|
||||||
case PIPE_SHADER_CAP_GLSL_16BIT_CONSTS:
|
|
||||||
return 1;
|
|
||||||
case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS:
|
|
||||||
return PIPE_MAX_SAMPLERS;
|
|
||||||
case PIPE_SHADER_CAP_MAX_SAMPLER_VIEWS:
|
|
||||||
return PIPE_MAX_SHADER_SAMPLER_VIEWS;
|
|
||||||
case PIPE_SHADER_CAP_SUPPORTED_IRS:
|
|
||||||
return (1 << PIPE_SHADER_IR_TGSI) | (1 << PIPE_SHADER_IR_NIR);
|
|
||||||
case PIPE_SHADER_CAP_TGSI_SQRT_SUPPORTED:
|
|
||||||
case PIPE_SHADER_CAP_TGSI_ANY_INOUT_DECL_RANGE:
|
|
||||||
return 1;
|
|
||||||
case PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTERS:
|
|
||||||
case PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTER_BUFFERS:
|
|
||||||
return 0;
|
|
||||||
case PIPE_SHADER_CAP_MAX_SHADER_BUFFERS:
|
|
||||||
return LP_MAX_TGSI_SHADER_BUFFERS;
|
|
||||||
case PIPE_SHADER_CAP_MAX_SHADER_IMAGES:
|
|
||||||
return LP_MAX_TGSI_SHADER_IMAGES;
|
|
||||||
}
|
|
||||||
/* if we get here, we missed a shader cap above (and should have seen
|
|
||||||
* a compiler warning.)
|
|
||||||
*/
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
gallivm_init_shader_caps(struct pipe_shader_caps *caps)
|
gallivm_init_shader_caps(struct pipe_shader_caps *caps)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -432,68 +432,6 @@ tgsi_exec_set_constant_buffers(struct tgsi_exec_machine *mach,
|
||||||
unsigned num_bufs,
|
unsigned num_bufs,
|
||||||
const struct tgsi_exec_consts_info *bufs);
|
const struct tgsi_exec_consts_info *bufs);
|
||||||
|
|
||||||
|
|
||||||
static inline int
|
|
||||||
tgsi_exec_get_shader_param(enum pipe_shader_cap param)
|
|
||||||
{
|
|
||||||
switch(param) {
|
|
||||||
case PIPE_SHADER_CAP_MAX_INSTRUCTIONS:
|
|
||||||
case PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS:
|
|
||||||
case PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS:
|
|
||||||
case PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS:
|
|
||||||
return INT_MAX;
|
|
||||||
case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH:
|
|
||||||
return TGSI_EXEC_MAX_NESTING;
|
|
||||||
case PIPE_SHADER_CAP_MAX_INPUTS:
|
|
||||||
return TGSI_EXEC_MAX_INPUT_ATTRIBS;
|
|
||||||
case PIPE_SHADER_CAP_MAX_OUTPUTS:
|
|
||||||
return 32;
|
|
||||||
case PIPE_SHADER_CAP_MAX_CONST_BUFFER0_SIZE:
|
|
||||||
return TGSI_EXEC_MAX_CONST_BUFFER_SIZE;
|
|
||||||
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
|
|
||||||
return PIPE_MAX_CONSTANT_BUFFERS;
|
|
||||||
case PIPE_SHADER_CAP_MAX_TEMPS:
|
|
||||||
return TGSI_EXEC_NUM_TEMPS;
|
|
||||||
case PIPE_SHADER_CAP_CONT_SUPPORTED:
|
|
||||||
return 1;
|
|
||||||
case PIPE_SHADER_CAP_INDIRECT_TEMP_ADDR:
|
|
||||||
case PIPE_SHADER_CAP_INDIRECT_CONST_ADDR:
|
|
||||||
return 1;
|
|
||||||
case PIPE_SHADER_CAP_SUBROUTINES:
|
|
||||||
return 1;
|
|
||||||
case PIPE_SHADER_CAP_INTEGERS:
|
|
||||||
return 1;
|
|
||||||
case PIPE_SHADER_CAP_INT64_ATOMICS:
|
|
||||||
case PIPE_SHADER_CAP_FP16:
|
|
||||||
case PIPE_SHADER_CAP_FP16_DERIVATIVES:
|
|
||||||
case PIPE_SHADER_CAP_FP16_CONST_BUFFERS:
|
|
||||||
case PIPE_SHADER_CAP_INT16:
|
|
||||||
case PIPE_SHADER_CAP_GLSL_16BIT_CONSTS:
|
|
||||||
return 0;
|
|
||||||
case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS:
|
|
||||||
return PIPE_MAX_SAMPLERS;
|
|
||||||
case PIPE_SHADER_CAP_MAX_SAMPLER_VIEWS:
|
|
||||||
return PIPE_MAX_SHADER_SAMPLER_VIEWS;
|
|
||||||
case PIPE_SHADER_CAP_SUPPORTED_IRS:
|
|
||||||
return 1 << PIPE_SHADER_IR_TGSI;
|
|
||||||
case PIPE_SHADER_CAP_TGSI_SQRT_SUPPORTED:
|
|
||||||
return 1;
|
|
||||||
case PIPE_SHADER_CAP_TGSI_ANY_INOUT_DECL_RANGE:
|
|
||||||
return 1;
|
|
||||||
case PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTERS:
|
|
||||||
case PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTER_BUFFERS:
|
|
||||||
return 0;
|
|
||||||
case PIPE_SHADER_CAP_MAX_SHADER_BUFFERS:
|
|
||||||
return PIPE_MAX_SHADER_BUFFERS;
|
|
||||||
case PIPE_SHADER_CAP_MAX_SHADER_IMAGES:
|
|
||||||
return PIPE_MAX_SHADER_IMAGES;
|
|
||||||
}
|
|
||||||
/* if we get here, we missed a shader cap above (and should have seen
|
|
||||||
* a compiler warning.)
|
|
||||||
*/
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
tgsi_exec_init_shader_caps(struct pipe_shader_caps *caps)
|
tgsi_exec_init_shader_caps(struct pipe_shader_caps *caps)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue