diff --git a/src/gallium/auxiliary/draw/draw_context.c b/src/gallium/auxiliary/draw/draw_context.c index 0e52fe5fc08..9e57b56dd25 100644 --- a/src/gallium/auxiliary/draw/draw_context.c +++ b/src/gallium/auxiliary/draw/draw_context.c @@ -1162,51 +1162,12 @@ draw_set_mapped_image(struct draw_context *draw, #endif } - /** - * XXX: Results for PIPE_SHADER_CAP_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 + * XXX: Results for pipe_shader_caps.max_texture_samplers because there are two * different ways of setting textures, and drivers typically only support one. * 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 draw_init_shader_caps(struct pipe_shader_caps *caps) { diff --git a/src/gallium/auxiliary/draw/draw_context.h b/src/gallium/auxiliary/draw/draw_context.h index 330611618e6..6475b9881da 100644 --- a/src/gallium/auxiliary/draw/draw_context.h +++ b/src/gallium/auxiliary/draw/draw_context.h @@ -410,13 +410,6 @@ draw_need_pipeline(const struct draw_context *draw, const struct pipe_rasterizer_state *rasterizer, 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 draw_init_shader_caps(struct pipe_shader_caps *caps); diff --git a/src/gallium/auxiliary/gallivm/lp_bld_limits.h b/src/gallium/auxiliary/gallivm/lp_bld_limits.h index 7a1a0ab6c5a..21d81f5f4f7 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_limits.h +++ b/src/gallium/auxiliary/gallivm/lp_bld_limits.h @@ -95,70 +95,6 @@ lp_has_fp16(void) * actually try to allocate the maximum and run out of memory and crash. So * 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 gallivm_init_shader_caps(struct pipe_shader_caps *caps) { diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.h b/src/gallium/auxiliary/tgsi/tgsi_exec.h index 6696fcbfa32..55d349e15ce 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.h +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.h @@ -432,68 +432,6 @@ tgsi_exec_set_constant_buffers(struct tgsi_exec_machine *mach, unsigned num_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 tgsi_exec_init_shader_caps(struct pipe_shader_caps *caps) {