ReactOS 0.4.16-dev-905-gc1b8c4f
|
#include "config.h"
#include "wine/port.h"
#include <limits.h>
#include <stdio.h>
#include "wined3d_private.h"
Go to the source code of this file.
Classes | |
struct | glsl_dst_param |
struct | glsl_src_param |
struct | glsl_sample_function |
struct | constant_entry |
struct | constant_heap |
struct | shader_glsl_priv |
struct | glsl_vs_program |
struct | glsl_hs_program |
struct | glsl_ds_program |
struct | glsl_gs_program |
struct | glsl_ps_program |
struct | glsl_cs_program |
struct | glsl_shader_prog_link |
struct | glsl_program_key |
struct | shader_glsl_ctx_priv |
struct | glsl_context_data |
struct | glsl_ps_compiled_shader |
struct | glsl_vs_compiled_shader |
struct | glsl_hs_compiled_shader |
struct | glsl_ds_compiled_shader |
struct | glsl_gs_compiled_shader |
struct | glsl_cs_compiled_shader |
struct | glsl_shader_private |
struct | glsl_ffp_vertex_shader |
struct | glsl_ffp_fragment_shader |
struct | glsl_ffp_destroy_ctx |
Macros | |
#define | WINED3D_GLSL_SAMPLE_PROJECTED 0x01 |
#define | WINED3D_GLSL_SAMPLE_LOD 0x02 |
#define | WINED3D_GLSL_SAMPLE_GRAD 0x04 |
#define | WINED3D_GLSL_SAMPLE_LOAD 0x08 |
#define | WINED3D_GLSL_SAMPLE_OFFSET 0x10 |
#define | WINED3D_TO_STR(u) case u: return #u |
Enumerations | |
enum | heap_node_op { HEAP_NODE_TRAVERSE_LEFT , HEAP_NODE_TRAVERSE_RIGHT , HEAP_NODE_POP } |
#define WINED3D_GLSL_SAMPLE_GRAD 0x04 |
Definition at line 49 of file glsl_shader.c.
#define WINED3D_GLSL_SAMPLE_LOAD 0x08 |
Definition at line 50 of file glsl_shader.c.
#define WINED3D_GLSL_SAMPLE_LOD 0x02 |
Definition at line 48 of file glsl_shader.c.
#define WINED3D_GLSL_SAMPLE_OFFSET 0x10 |
Definition at line 51 of file glsl_shader.c.
#define WINED3D_GLSL_SAMPLE_PROJECTED 0x01 |
Definition at line 47 of file glsl_shader.c.
Enumerator | |
---|---|
HEAP_NODE_TRAVERSE_LEFT | |
HEAP_NODE_TRAVERSE_RIGHT | |
HEAP_NODE_POP |
Definition at line 97 of file glsl_shader.c.
|
static |
Definition at line 6569 of file glsl_shader.c.
Referenced by set_glsl_shader_program(), and shader_glsl_compile_compute_shader().
|
static |
Definition at line 790 of file glsl_shader.c.
Referenced by shader_glsl_generate_transform_feedback_varyings().
|
static |
Definition at line 771 of file glsl_shader.c.
Referenced by append_transform_feedback_skip_components(), and shader_glsl_generate_transform_feedback_varyings().
|
inlinestatic |
Definition at line 1045 of file glsl_shader.c.
Referenced by walk_constant_heap_clamped().
|
static |
Definition at line 10634 of file glsl_shader.c.
Referenced by shader_glsl_alloc(), and shader_glsl_free().
|
static |
Definition at line 10611 of file glsl_shader.c.
Referenced by shader_glsl_alloc().
Definition at line 347 of file glsl_shader.c.
Referenced by shader_glsl_dump_program_source().
|
static |
Definition at line 6596 of file glsl_shader.c.
Referenced by shader_glsl_destroy(), shader_glsl_free_ffp_fragment_shader(), and shader_glsl_free_ffp_vertex_shader().
|
static |
Definition at line 9778 of file glsl_shader.c.
Referenced by set_glsl_compute_shader_program().
|
static |
Definition at line 8264 of file glsl_shader.c.
Referenced by set_glsl_shader_program().
|
static |
Definition at line 8319 of file glsl_shader.c.
Referenced by set_glsl_shader_program().
|
static |
Definition at line 8219 of file glsl_shader.c.
Referenced by set_glsl_shader_program().
|
static |
Definition at line 8062 of file glsl_shader.c.
Referenced by set_glsl_shader_program().
|
static |
Definition at line 8155 of file glsl_shader.c.
Referenced by set_glsl_shader_program().
|
static |
Definition at line 1817 of file glsl_shader.c.
Referenced by shader_glsl_declare_generic_vertex_attribute(), shader_glsl_declare_typed_vertex_attribute(), and shader_glsl_generate_ffp_vertex_shader().
|
static |
Definition at line 6586 of file glsl_shader.c.
Referenced by set_glsl_compute_shader_program(), and set_glsl_shader_program().
Definition at line 442 of file glsl_shader.c.
Referenced by print_glsl_info_log(), shader_glsl_compile(), and shader_glsl_dump_program_source().
|
static |
Definition at line 1438 of file glsl_shader.c.
Referenced by shader_glsl_load_constants().
|
static |
Definition at line 11663 of file glsl_shader.c.
|
static |
Definition at line 11960 of file glsl_shader.c.
|
static |
Definition at line 11805 of file glsl_shader.c.
|
static |
Definition at line 11785 of file glsl_shader.c.
|
static |
Definition at line 11828 of file glsl_shader.c.
|
static |
Definition at line 11799 of file glsl_shader.c.
|
static |
Definition at line 11822 of file glsl_shader.c.
|
static |
Definition at line 11615 of file glsl_shader.c.
|
static |
Definition at line 11720 of file glsl_shader.c.
Referenced by glsl_fragment_pipe_vdecl().
|
static |
Definition at line 11714 of file glsl_shader.c.
|
static |
Definition at line 11696 of file glsl_shader.c.
|
static |
Definition at line 11965 of file glsl_shader.c.
|
static |
Definition at line 11620 of file glsl_shader.c.
|
static |
Definition at line 11656 of file glsl_shader.c.
|
static |
Definition at line 11779 of file glsl_shader.c.
|
static |
Definition at line 11834 of file glsl_shader.c.
|
static |
Definition at line 11706 of file glsl_shader.c.
|
static |
Definition at line 11773 of file glsl_shader.c.
|
static |
Definition at line 11754 of file glsl_shader.c.
|
static |
Definition at line 11765 of file glsl_shader.c.
|
static |
Definition at line 1991 of file glsl_shader.c.
Referenced by shader_glsl_generate_pshader().
|
static |
Definition at line 2015 of file glsl_shader.c.
Referenced by shader_generate_glsl_declarations(), and shader_glsl_get_sample_function().
|
static |
Definition at line 1960 of file glsl_shader.c.
Referenced by shader_glsl_generate_geometry_shader().
Definition at line 10584 of file glsl_shader.c.
Referenced by shader_glsl_alloc().
|
static |
Definition at line 11454 of file glsl_shader.c.
|
static |
Definition at line 11296 of file glsl_shader.c.
|
static |
Definition at line 11284 of file glsl_shader.c.
|
static |
Definition at line 11420 of file glsl_shader.c.
|
static |
Definition at line 11414 of file glsl_shader.c.
|
static |
Definition at line 11203 of file glsl_shader.c.
|
static |
Definition at line 11314 of file glsl_shader.c.
|
static |
Definition at line 11432 of file glsl_shader.c.
|
static |
Definition at line 11426 of file glsl_shader.c.
|
static |
Definition at line 11362 of file glsl_shader.c.
Referenced by glsl_vertex_pipe_viewport().
|
static |
Definition at line 11448 of file glsl_shader.c.
|
static |
Definition at line 11206 of file glsl_shader.c.
|
static |
Definition at line 11383 of file glsl_shader.c.
|
static |
Definition at line 11389 of file glsl_shader.c.
|
static |
Definition at line 11212 of file glsl_shader.c.
|
static |
Definition at line 11332 of file glsl_shader.c.
|
static |
Definition at line 11339 of file glsl_shader.c.
|
static |
Definition at line 11372 of file glsl_shader.c.
|
static |
Definition at line 11160 of file glsl_shader.c.
|
static |
Definition at line 11131 of file glsl_shader.c.
|
static |
Definition at line 11193 of file glsl_shader.c.
|
static |
Definition at line 11133 of file glsl_shader.c.
|
static |
Definition at line 11153 of file glsl_shader.c.
|
static |
Definition at line 11275 of file glsl_shader.c.
|
static |
Definition at line 11326 of file glsl_shader.c.
|
static |
Definition at line 11439 of file glsl_shader.c.
|
static |
Definition at line 5665 of file glsl_shader.c.
Referenced by shader_glsl_ld(), and shader_glsl_resinfo().
|
static |
Definition at line 5659 of file glsl_shader.c.
Referenced by is_mipmapped(), and shader_glsl_ld().
|
static |
Definition at line 1289 of file glsl_shader.c.
Referenced by shader_glsl_clip_plane_uniform(), and shader_glsl_ffp_vertex_light_uniform().
|
static |
Definition at line 1801 of file glsl_shader.c.
Referenced by get_attribute_keyword(), glsl_vertex_pipe_vdecl(), glsl_vertex_pipe_view(), glsl_vertex_pipe_vp_get_caps(), PRINTF_ATTR(), set_glsl_shader_program(), shader_glsl_disable(), shader_glsl_generate_alpha_test(), shader_glsl_generate_ffp_fragment_shader(), shader_glsl_generate_ffp_vertex_shader(), shader_glsl_generate_fog_code(), shader_glsl_generate_ps_epilogue(), shader_glsl_generate_pshader(), shader_glsl_generate_srgb_write_correction(), shader_glsl_generate_vs3_rasterizer_input_setup(), shader_glsl_generate_vs_epilogue(), shader_glsl_generate_vshader(), shader_glsl_get_register_name(), shader_glsl_get_sample_function(), shader_glsl_input_pack(), shader_glsl_setup_vs3_output(), and shader_glsl_use_explicit_attrib_location().
Definition at line 459 of file glsl_shader.c.
Referenced by draw_test_quad(), shader_glsl_compile(), and shader_glsl_validate_link().
|
static |
Definition at line 1822 of file glsl_shader.c.
|
static |
Definition at line 3450 of file glsl_shader.c.
|
static |
Definition at line 1205 of file glsl_shader.c.
Referenced by shader_glsl_load_constants().
|
static |
Definition at line 9797 of file glsl_shader.c.
Referenced by shader_glsl_select_compute().
|
static |
Definition at line 9824 of file glsl_shader.c.
Referenced by shader_glsl_select().
|
static |
Generate the variable & register declarations for the GLSL output target
Definition at line 2079 of file glsl_shader.c.
Referenced by shader_glsl_generate_compute_shader(), shader_glsl_generate_domain_shader(), shader_glsl_generate_geometry_shader(), shader_glsl_generate_hull_shader(), shader_glsl_generate_pshader(), and shader_glsl_generate_vshader().
|
static |
Definition at line 3120 of file glsl_shader.c.
Referenced by shader_glsl_add_instruction_modifiers(), shader_glsl_append_dst_ext(), shader_glsl_texbem(), shader_glsl_texdepth(), and shader_glsl_texkill().
|
static |
Process GLSL instruction modifiers
Definition at line 3177 of file glsl_shader.c.
Referenced by shader_glsl_handle_instruction().
|
static |
Definition at line 3111 of file glsl_shader.c.
Referenced by shader_glsl_atomic(), shader_glsl_bem(), shader_glsl_binop(), shader_glsl_bitwise_op(), shader_glsl_breakc(), shader_glsl_callnz(), shader_glsl_case(), shader_glsl_cast(), shader_glsl_cnd(), shader_glsl_compare(), shader_glsl_conditional_move(), shader_glsl_cross(), shader_glsl_dot(), shader_glsl_dp2add(), shader_glsl_dst(), shader_glsl_expp(), shader_glsl_float16(), shader_glsl_gather4(), shader_glsl_generate_conditional_op(), shader_glsl_get_register_name(), shader_glsl_ifc(), shader_glsl_ld(), shader_glsl_ld_raw_structured(), shader_glsl_ld_uav(), shader_glsl_lit(), shader_glsl_loop(), shader_glsl_lrp(), shader_glsl_mad(), shader_glsl_map2gl(), shader_glsl_mov(), shader_glsl_mul_extended(), shader_glsl_nrm(), shader_glsl_pow(), shader_glsl_relop(), shader_glsl_rep(), shader_glsl_resinfo(), shader_glsl_sample(), shader_glsl_sample_c(), shader_glsl_scalar_op(), shader_glsl_sgn(), shader_glsl_sincos(), shader_glsl_store_raw_structured(), shader_glsl_store_uav(), shader_glsl_swapc(), shader_glsl_switch(), shader_glsl_tex(), shader_glsl_texbem(), shader_glsl_texcoord(), shader_glsl_texdp3(), shader_glsl_texdp3tex(), shader_glsl_texldd(), shader_glsl_texldl(), shader_glsl_texm3x2depth(), shader_glsl_texm3x2pad(), shader_glsl_texm3x2tex(), shader_glsl_texm3x3(), shader_glsl_texm3x3pad(), shader_glsl_texm3x3spec(), shader_glsl_texm3x3tex(), shader_glsl_texm3x3vspec(), shader_glsl_texreg2ar(), shader_glsl_texreg2gb(), shader_glsl_texreg2rgb(), shader_glsl_udiv(), and shader_glsl_unary_op().
|
static |
Definition at line 3067 of file glsl_shader.c.
Referenced by shader_glsl_add_src_param(), shader_glsl_atomic(), and shader_glsl_store_uav().
|
static |
Definition at line 404 of file glsl_shader.c.
Referenced by shader_glsl_generate_compute_shader(), shader_glsl_generate_domain_shader(), shader_glsl_generate_ffp_fragment_shader(), shader_glsl_generate_ffp_vertex_shader(), shader_glsl_generate_geometry_shader(), shader_glsl_generate_hull_shader(), shader_glsl_generate_pshader(), shader_glsl_generate_vs3_rasterizer_input_setup(), and shader_glsl_generate_vshader().
|
static |
Definition at line 10639 of file glsl_shader.c.
|
static |
Definition at line 10736 of file glsl_shader.c.
|
static |
Definition at line 3171 of file glsl_shader.c.
Referenced by shader_glsl_bem(), shader_glsl_binop(), shader_glsl_bufinfo(), shader_glsl_cast(), shader_glsl_cnd(), shader_glsl_compare(), shader_glsl_conditional_move(), shader_glsl_cross(), shader_glsl_dot(), shader_glsl_dp2add(), shader_glsl_dst(), shader_glsl_expp(), shader_glsl_lit(), shader_glsl_lrp(), shader_glsl_mad(), shader_glsl_map2gl(), shader_glsl_mov(), shader_glsl_nrm(), shader_glsl_pow(), shader_glsl_relop(), shader_glsl_scalar_op(), shader_glsl_sgn(), shader_glsl_sincos(), shader_glsl_texcoord(), shader_glsl_texdp3(), shader_glsl_texm3x3(), shader_glsl_uav_counter(), and shader_glsl_unary_op().
|
static |
Definition at line 3134 of file glsl_shader.c.
Referenced by PRINTF_ATTR(), shader_glsl_append_dst(), shader_glsl_atomic(), shader_glsl_bitwise_op(), shader_glsl_conditional_move(), shader_glsl_float16(), shader_glsl_gather4(), shader_glsl_gen_sample_c_lz(), shader_glsl_ld_raw_structured(), shader_glsl_ld_uav(), shader_glsl_mul_extended(), shader_glsl_resinfo(), shader_glsl_sincos(), shader_glsl_swapc(), and shader_glsl_udiv().
|
static |
Definition at line 3345 of file glsl_shader.c.
Referenced by shader_glsl_color_correction_ext().
|
static |
Definition at line 421 of file glsl_shader.c.
Referenced by PRINTF_ATTR(), shader_glsl_gather4(), and shader_glsl_gen_sample_c_lz().
|
static |
Definition at line 410 of file glsl_shader.c.
Referenced by shader_generate_glsl_declarations(), shader_glsl_generate_ffp_fragment_shader(), and shader_glsl_generate_pshader().
|
static |
Definition at line 678 of file glsl_shader.c.
Referenced by shader_generate_glsl_declarations(), and shader_glsl_generate_ffp_fragment_shader().
|
static |
Definition at line 5161 of file glsl_shader.c.
|
static |
Definition at line 6364 of file glsl_shader.c.
|
static |
Definition at line 3591 of file glsl_shader.c.
|
static |
Definition at line 3999 of file glsl_shader.c.
|
static |
Definition at line 4912 of file glsl_shader.c.
|
static |
Definition at line 4918 of file glsl_shader.c.
|
static |
Definition at line 5625 of file glsl_shader.c.
|
static |
Definition at line 4961 of file glsl_shader.c.
|
static |
Definition at line 4966 of file glsl_shader.c.
|
static |
Definition at line 4852 of file glsl_shader.c.
|
static |
Definition at line 4170 of file glsl_shader.c.
Referenced by shader_glsl_to_float(), shader_glsl_to_int(), and shader_glsl_to_uint().
|
static |
Definition at line 1406 of file glsl_shader.c.
Referenced by shader_glsl_load_constants().
|
static |
Process the CND opcode in GLSL (dst = (src0 > 0.5) ? src1 : src2)
Definition at line 4413 of file glsl_shader.c.
|
static |
Definition at line 3441 of file glsl_shader.c.
Referenced by PRINTF_ATTR().
|
static |
Definition at line 3387 of file glsl_shader.c.
Referenced by shader_glsl_color_correction(), and shader_glsl_generate_ffp_fragment_shader().
|
static |
Definition at line 10838 of file glsl_shader.c.
|
static |
Process signed comparison opcodes in GLSL.
Definition at line 4204 of file glsl_shader.c.
|
static |
Definition at line 505 of file glsl_shader.c.
Referenced by shader_glsl_generate_compute_shader(), shader_glsl_generate_domain_shader(), shader_glsl_generate_ffp_fragment_shader(), shader_glsl_generate_ffp_vertex_shader(), shader_glsl_generate_geometry_shader(), shader_glsl_generate_hull_shader(), shader_glsl_generate_pshader(), shader_glsl_generate_vs3_rasterizer_input_setup(), and shader_glsl_generate_vshader().
|
static |
Definition at line 9698 of file glsl_shader.c.
Referenced by find_glsl_compute_shader(), and shader_glsl_precompile().
|
static |
Definition at line 4306 of file glsl_shader.c.
Referenced by shader_glsl_cnd().
|
static |
Definition at line 4930 of file glsl_shader.c.
|
static |
Definition at line 4947 of file glsl_shader.c.
|
static |
Definition at line 3859 of file glsl_shader.c.
|
static |
Definition at line 3873 of file glsl_shader.c.
|
static |
Definition at line 2036 of file glsl_shader.c.
Referenced by shader_glsl_generate_vshader().
|
static |
Definition at line 1895 of file glsl_shader.c.
Referenced by shader_glsl_generate_pshader().
|
static |
Definition at line 1925 of file glsl_shader.c.
Referenced by shader_glsl_generate_sm4_output_setup(), and shader_glsl_generate_vs3_rasterizer_input_setup().
|
static |
Definition at line 2026 of file glsl_shader.c.
Referenced by shader_glsl_declare_generic_vertex_attribute().
|
static |
Definition at line 4860 of file glsl_shader.c.
|
static |
Definition at line 10412 of file glsl_shader.c.
|
static |
Definition at line 10374 of file glsl_shader.c.
|
static |
Definition at line 3828 of file glsl_shader.c.
Referenced by shader_glsl_mnxn().
|
static |
Process the WINED3DSIO_DP2ADD instruction in GLSL. dst = dot2(src0, src1) + src2
Definition at line 6455 of file glsl_shader.c.
|
static |
Process the WINED3DSIO_DST instruction in GLSL: dst.x = 1.0 dst.y = src0.x * src0.y dst.z = src0.z dst.w = src1.w
Definition at line 4594 of file glsl_shader.c.
|
static |
Definition at line 525 of file glsl_shader.c.
Referenced by shader_glsl_validate_link().
|
static |
Definition at line 4893 of file glsl_shader.c.
|
static |
Definition at line 4898 of file glsl_shader.c.
|
static |
Definition at line 7223 of file glsl_shader.c.
Referenced by shader_glsl_generate_compute_shader(), shader_glsl_generate_domain_shader(), shader_glsl_generate_geometry_shader(), shader_glsl_generate_hull_shader(), shader_glsl_generate_pshader(), and shader_glsl_generate_vshader().
|
static |
Definition at line 4788 of file glsl_shader.c.
|
static |
Process the WINED3DSIO_EXPP instruction in GLSL: For shader model 1.x, do the following (and honor the writemask, so use a temporary variable): dst.x = 2^(floor(src)) dst.y = src - floor(src) dst.z = 2^src (partial precision is allowed, but optional) dst.w = 1.0; For 2.0 shaders, just do this (honoring writemask and swizzle): dst = 2^src; (partial precision is allowed, but optional)
Definition at line 4147 of file glsl_shader.c.
|
static |
Definition at line 8912 of file glsl_shader.c.
Referenced by shader_glsl_generate_ffp_fragment_shader().
|
static |
Definition at line 8374 of file glsl_shader.c.
Referenced by shader_glsl_ffp_vertex_lighting().
|
static |
Definition at line 1302 of file glsl_shader.c.
Referenced by shader_glsl_load_constants().
|
static |
Definition at line 1278 of file glsl_shader.c.
Referenced by shader_glsl_load_constants().
|
static |
Definition at line 8403 of file glsl_shader.c.
Referenced by shader_glsl_generate_ffp_vertex_shader().
|
static |
Definition at line 8390 of file glsl_shader.c.
Referenced by shader_glsl_ffp_vertex_lighting().
|
static |
Definition at line 1256 of file glsl_shader.c.
Referenced by shader_glsl_load_constants().
|
static |
Definition at line 1240 of file glsl_shader.c.
Referenced by shader_glsl_load_constants().
|
static |
Definition at line 9524 of file glsl_shader.c.
Referenced by set_glsl_shader_program().
|
static |
Definition at line 9503 of file glsl_shader.c.
Referenced by set_glsl_shader_program().
|
static |
Definition at line 5144 of file glsl_shader.c.
Referenced by shader_glsl_bufinfo(), shader_glsl_gather4(), shader_glsl_ld(), shader_glsl_ld_raw_structured(), shader_glsl_resinfo(), shader_glsl_sample(), and shader_glsl_sample_c().
|
static |
Definition at line 3565 of file glsl_shader.c.
Referenced by shader_glsl_emit(), shader_glsl_generate_ds_epilogue(), and shader_glsl_generate_vs_epilogue().
|
static |
Definition at line 2532 of file glsl_shader.c.
Referenced by shader_glsl_get_register_name().
|
static |
Definition at line 3975 of file glsl_shader.c.
|
static |
Definition at line 10719 of file glsl_shader.c.
|
static |
Definition at line 10747 of file glsl_shader.c.
|
static |
Definition at line 11679 of file glsl_shader.c.
Referenced by glsl_fragment_pipe_free().
|
static |
Definition at line 11176 of file glsl_shader.c.
Referenced by glsl_vertex_pipe_vp_free().
|
static |
Definition at line 5926 of file glsl_shader.c.
|
static |
Definition at line 2483 of file glsl_shader.c.
Referenced by shader_glsl_add_src_param_ext().
|
static |
Definition at line 5854 of file glsl_shader.c.
Referenced by shader_glsl_sample_c().
|
static |
Definition at line 7195 of file glsl_shader.c.
Referenced by shader_glsl_generate_ffp_fragment_shader(), and shader_glsl_generate_ps_epilogue().
|
static |
Definition at line 6751 of file glsl_shader.c.
Referenced by shader_glsl_setup_sm3_rasterizer_input().
|
static |
Definition at line 8021 of file glsl_shader.c.
Referenced by shader_glsl_compile_compute_shader().
|
static |
Definition at line 4865 of file glsl_shader.c.
Referenced by shader_glsl_conditional_op(), shader_glsl_if(), and shader_glsl_texkill().
|
static |
Definition at line 7703 of file glsl_shader.c.
Referenced by shader_glsl_generate_hull_shader().
|
static |
Definition at line 7848 of file glsl_shader.c.
Referenced by find_glsl_domain_shader().
|
static |
Definition at line 7838 of file glsl_shader.c.
Referenced by shader_glsl_generate_shader_epilogue().
|
static |
Definition at line 9062 of file glsl_shader.c.
Referenced by shader_glsl_find_ffp_fragment_shader().
|
static |
Definition at line 8527 of file glsl_shader.c.
Referenced by shader_glsl_find_ffp_vertex_shader().
|
static |
Definition at line 7163 of file glsl_shader.c.
Referenced by shader_glsl_generate_ffp_fragment_shader(), and shader_glsl_generate_ps_epilogue().
|
static |
Definition at line 7942 of file glsl_shader.c.
Referenced by find_glsl_geometry_shader().
|
static |
Definition at line 7752 of file glsl_shader.c.
Referenced by find_glsl_hull_shader().
|
static |
Definition at line 7077 of file glsl_shader.c.
Referenced by shader_glsl_generate_patch_constant_setup().
|
static |
Definition at line 7105 of file glsl_shader.c.
Referenced by shader_glsl_generate_domain_shader(), and shader_glsl_generate_hull_shader().
|
static |
Definition at line 7258 of file glsl_shader.c.
Referenced by shader_glsl_generate_pshader(), and shader_glsl_generate_shader_epilogue().
|
static |
Definition at line 7280 of file glsl_shader.c.
Referenced by find_glsl_pshader().
|
static |
Definition at line 7993 of file glsl_shader.c.
Referenced by shader_glsl_ret().
|
static |
Definition at line 7720 of file glsl_shader.c.
Referenced by shader_glsl_generate_hull_shader().
|
static |
Definition at line 7737 of file glsl_shader.c.
Referenced by shader_glsl_generate_hull_shader().
|
static |
Definition at line 7051 of file glsl_shader.c.
Referenced by shader_glsl_generate_domain_shader(), shader_glsl_generate_geometry_shader(), and shader_glsl_generate_vshader().
|
static |
Definition at line 7150 of file glsl_shader.c.
Referenced by shader_glsl_generate_ffp_fragment_shader(), and shader_glsl_generate_ps_epilogue().
|
static |
Definition at line 6982 of file glsl_shader.c.
Referenced by shader_glsl_generate_geometry_shader().
|
static |
Definition at line 808 of file glsl_shader.c.
Referenced by shader_glsl_init_transform_feedback().
|
static |
Definition at line 6839 of file glsl_shader.c.
Referenced by set_glsl_shader_program().
|
static |
Definition at line 7567 of file glsl_shader.c.
Referenced by shader_glsl_generate_shader_epilogue(), and shader_glsl_generate_vshader().
|
static |
Definition at line 7611 of file glsl_shader.c.
Referenced by find_glsl_vshader().
|
static |
Definition at line 10794 of file glsl_shader.c.
|
static |
Definition at line 3228 of file glsl_shader.c.
Referenced by shader_glsl_gather4(), and shader_glsl_get_sample_function().
|
static |
Definition at line 8819 of file glsl_shader.c.
Referenced by shader_glsl_ffp_fragment_op().
|
static |
Definition at line 364 of file glsl_shader.c.
Referenced by PRINTF_ATTR(), shader_generate_glsl_declarations(), shader_glsl_atomic(), shader_glsl_bufinfo(), shader_glsl_gather4(), shader_glsl_gen_sample_c_lz(), shader_glsl_generate_pshader(), shader_glsl_generate_sm4_output_setup(), shader_glsl_get_register_name(), shader_glsl_init_uniform_block_bindings(), shader_glsl_ld_raw_structured(), shader_glsl_ld_uav(), shader_glsl_load_icb(), shader_glsl_load_images(), shader_glsl_load_samplers(), shader_glsl_resinfo(), shader_glsl_store_raw_structured(), shader_glsl_store_uav(), and shader_glsl_uav_counter().
|
static |
Writes the GLSL variable name that corresponds to the register that the DX opcode parameter is trying to access
Definition at line 2545 of file glsl_shader.c.
Referenced by shader_glsl_add_dst_param(), shader_glsl_add_src_param_ext(), and shader_glsl_color_correction().
|
static |
Definition at line 3207 of file glsl_shader.c.
Referenced by shader_glsl_breakc(), and shader_glsl_ifc().
|
static |
Definition at line 5595 of file glsl_shader.c.
Referenced by shader_glsl_bufinfo(), shader_glsl_gather4(), and shader_glsl_sample_c().
|
static |
Definition at line 3240 of file glsl_shader.c.
Referenced by shader_glsl_ld(), shader_glsl_sample(), shader_glsl_sample_c(), shader_glsl_tex(), shader_glsl_texbem(), shader_glsl_texdp3tex(), shader_glsl_texldd(), shader_glsl_texldl(), shader_glsl_texm3x2tex(), shader_glsl_texm3x3spec(), shader_glsl_texm3x3tex(), shader_glsl_texm3x3vspec(), shader_glsl_texreg2ar(), shader_glsl_texreg2gb(), and shader_glsl_texreg2rgb().
|
static |
Definition at line 10760 of file glsl_shader.c.
Referenced by shader_glsl_get_caps().
|
static |
Definition at line 3013 of file glsl_shader.c.
Referenced by shader_glsl_add_src_param_ext(), shader_glsl_bufinfo(), shader_glsl_ld_uav(), shader_glsl_resinfo(), and shader_glsl_texcoord().
|
static |
Definition at line 392 of file glsl_shader.c.
Referenced by shader_glsl_add_version_declaration(), shader_glsl_has_core_grad(), shader_glsl_mov(), shader_glsl_use_interface_blocks(), and shader_glsl_use_layout_qualifier().
|
static |
Definition at line 2960 of file glsl_shader.c.
Referenced by shader_glsl_add_dst_param(), shader_glsl_bitwise_op(), shader_glsl_conditional_move(), shader_glsl_cross(), shader_glsl_dst(), shader_glsl_expp(), shader_glsl_lit(), shader_glsl_nrm(), shader_glsl_sincos(), shader_glsl_swapc(), shader_glsl_texcoord(), shader_glsl_texm3x3(), and shader_glsl_udiv().
Definition at line 2977 of file glsl_shader.c.
Referenced by PRINTF_ATTR(), shader_glsl_cast(), shader_glsl_color_correction_ext(), shader_glsl_compare(), shader_glsl_dot(), shader_glsl_dp2add(), shader_glsl_ld_raw_structured(), shader_glsl_mov(), shader_glsl_nrm(), shader_glsl_pow(), shader_glsl_relop(), shader_glsl_sample_c(), shader_glsl_scalar_op(), shader_glsl_texcoord(), shader_glsl_texdp3(), and shader_glsl_texdp3tex().
|
static |
Definition at line 11086 of file glsl_shader.c.
|
static |
Definition at line 3223 of file glsl_shader.c.
Referenced by shader_glsl_get_sample_function(), shader_glsl_get_shader_model(), shader_glsl_texldd(), and shader_glsl_texldl().
Definition at line 11103 of file glsl_shader.c.
|
static |
Definition at line 4876 of file glsl_shader.c.
|
static |
Definition at line 4881 of file glsl_shader.c.
|
static |
Definition at line 10752 of file glsl_shader.c.
|
static |
|
static |
|
static |
Definition at line 9644 of file glsl_shader.c.
Referenced by set_glsl_shader_program().
|
static |
Definition at line 888 of file glsl_shader.c.
Referenced by set_glsl_shader_program().
|
static |
Definition at line 607 of file glsl_shader.c.
Referenced by shader_glsl_load_program_resources().
|
static |
Definition at line 9545 of file glsl_shader.c.
Referenced by set_glsl_shader_program().
|
static |
Definition at line 6479 of file glsl_shader.c.
Referenced by shader_glsl_generate_pshader().
|
static |
Definition at line 1872 of file glsl_shader.c.
Referenced by shader_glsl_declare_shader_inputs(), and shader_glsl_declare_shader_outputs().
|
static |
Definition at line 10395 of file glsl_shader.c.
Referenced by shader_glsl_destroy().
|
static |
Definition at line 10360 of file glsl_shader.c.
Referenced by shader_glsl_disable(), and shader_glsl_invalidate_contexts_program().
|
static |
Definition at line 4952 of file glsl_shader.c.
|
static |
Definition at line 5759 of file glsl_shader.c.
|
static |
Definition at line 5395 of file glsl_shader.c.
|
static |
Definition at line 5361 of file glsl_shader.c.
|
static |
Process the WINED3DSIO_LIT instruction in GLSL: dst.x = dst.w = 1.0 dst.y = (src0.x > 0) ? src0.x dst.z = (src0.x > 0) ? ((src0.y > 0) ? pow(src0.y, src.w) : 0) : 0 where src.w is clamped at +- 128
Definition at line 4541 of file glsl_shader.c.
|
static |
Definition at line 1427 of file glsl_shader.c.
Referenced by shader_glsl_load_constants().
|
static |
Definition at line 1455 of file glsl_shader.c.
|
static |
Definition at line 1120 of file glsl_shader.c.
Referenced by shader_glsl_load_constants().
|
static |
Definition at line 1148 of file glsl_shader.c.
Referenced by shader_glsl_load_constants().
|
static |
Definition at line 1178 of file glsl_shader.c.
Referenced by shader_glsl_load_constants().
|
static |
Definition at line 1383 of file glsl_shader.c.
Referenced by shader_glsl_load_constants().
|
static |
Definition at line 708 of file glsl_shader.c.
Referenced by shader_glsl_load_program_resources().
|
static |
Definition at line 729 of file glsl_shader.c.
Referenced by set_glsl_shader_program(), and shader_glsl_compile_compute_shader().
|
static |
Definition at line 1211 of file glsl_shader.c.
Referenced by shader_glsl_load_constants().
|
static |
Definition at line 759 of file glsl_shader.c.
Referenced by set_glsl_shader_program(), and shader_glsl_compile_compute_shader().
|
static |
Definition at line 690 of file glsl_shader.c.
Referenced by set_glsl_shader_program(), and shader_glsl_load_program_resources().
|
static |
Definition at line 635 of file glsl_shader.c.
Referenced by shader_glsl_load_samplers().
|
static |
Process the WINED3DSIO_LOOP instruction in GLSL: Start a for() loop where src1.y is the initial value of aL, increment aL by src1.z for a total of src1.x iterations. Need to use a temporary variable for this operation.
Definition at line 4711 of file glsl_shader.c.
|
static |
The LRP instruction performs a component-wise linear interpolation between the second and third operands using the first operand as the blend factor. Equation: (dst = src2 + src0 * (src1 - src2)) This is equivalent to mix(src2, src1, src0);
Definition at line 4518 of file glsl_shader.c.
|
static |
GLSL code generation for WINED3DSIO_MAD: Multiply the first 2 opcodes, then add the last
Definition at line 4441 of file glsl_shader.c.
|
static |
Definition at line 3913 of file glsl_shader.c.
|
static |
Definition at line 664 of file glsl_shader.c.
Referenced by shader_glsl_append_sampler_binding_qualifier().
|
static |
Definition at line 4458 of file glsl_shader.c.
|
static |
Definition at line 3776 of file glsl_shader.c.
|
static |
Definition at line 3709 of file glsl_shader.c.
|
static |
Definition at line 4053 of file glsl_shader.c.
|
static |
Definition at line 4055 of file glsl_shader.c.
|
static |
Definition at line 1357 of file glsl_shader.c.
Referenced by shader_glsl_load_constants().
|
static |
Definition at line 3886 of file glsl_shader.c.
|
static |
Definition at line 10259 of file glsl_shader.c.
|
static |
Definition at line 3337 of file glsl_shader.c.
Referenced by shader_glsl_ld(), shader_glsl_sample(), shader_glsl_sample_c(), shader_glsl_tex(), shader_glsl_texbem(), shader_glsl_texdp3tex(), shader_glsl_texldd(), shader_glsl_texldl(), shader_glsl_texm3x2tex(), shader_glsl_texm3x3spec(), shader_glsl_texm3x3tex(), shader_glsl_texm3x3vspec(), shader_glsl_texreg2ar(), shader_glsl_texreg2gb(), and shader_glsl_texreg2rgb().
|
static |
Definition at line 3625 of file glsl_shader.c.
|
static |
Definition at line 4806 of file glsl_shader.c.
|
static |
Definition at line 5670 of file glsl_shader.c.
|
static |
Definition at line 4975 of file glsl_shader.c.
|
static |
Definition at line 5800 of file glsl_shader.c.
|
static |
Definition at line 5881 of file glsl_shader.c.
|
static |
Definition at line 4083 of file glsl_shader.c.
Referenced by shader_glsl_expp().
|
static |
Definition at line 10273 of file glsl_shader.c.
|
static |
Definition at line 10332 of file glsl_shader.c.
|
static |
Definition at line 6773 of file glsl_shader.c.
Referenced by shader_glsl_generate_sm4_output_setup(), and shader_glsl_generate_vs3_rasterizer_input_setup().
|
static |
Definition at line 6721 of file glsl_shader.c.
Referenced by shader_glsl_generate_hull_shader(), shader_glsl_generate_sm4_output_setup(), and shader_glsl_setup_sm3_rasterizer_input().
|
static |
Definition at line 6617 of file glsl_shader.c.
Referenced by shader_glsl_setup_sm3_rasterizer_input().
|
static |
Definition at line 4694 of file glsl_shader.c.
|
static |
Definition at line 1862 of file glsl_shader.c.
Referenced by shader_glsl_input_pack().
|
static |
Definition at line 1867 of file glsl_shader.c.
Referenced by shader_glsl_setup_vs3_output().
|
static |
Process the WINED3DSIO_SINCOS instruction in GLSL: VS 2.0 requires that specific cosine and sine constants be passed to this instruction so the hardware can handle it. But, these functions are built-in for GLSL, so we can just ignore the last 2 params.
dst.x = cos(src0.?) dst.y = sin(src0.?) dst.z = dst.z dst.w = dst.w
Definition at line 4623 of file glsl_shader.c.
|
static |
Definition at line 3022 of file glsl_shader.c.
Referenced by shader_glsl_add_src_param_ext().
|
static |
Definition at line 5514 of file glsl_shader.c.
|
static |
Definition at line 5482 of file glsl_shader.c.
|
static |
Definition at line 4254 of file glsl_shader.c.
|
static |
Definition at line 4844 of file glsl_shader.c.
|
static |
Definition at line 2989 of file glsl_shader.c.
Referenced by shader_glsl_conditional_move(), shader_glsl_gather4(), shader_glsl_ld_raw_structured(), and shader_glsl_swizzle_to_str().
Definition at line 2996 of file glsl_shader.c.
Referenced by PRINTF_ATTR(), shader_glsl_gather4(), shader_glsl_gen_sample_c_lz(), and shader_glsl_get_swizzle().
|
static |
Definition at line 5574 of file glsl_shader.c.
|
static |
Definition at line 4986 of file glsl_shader.c.
Referenced by shader_glsl_texldd().
|
static |
Process the WINED3DSIO_TEXBEM instruction in GLSL. Apply a fake bump map transform. texbem is pshader <= 1.3 only, this saves a few version checks
Definition at line 6297 of file glsl_shader.c.
|
static |
Definition at line 5995 of file glsl_shader.c.
|
static |
Process the WINED3DSIO_TEXDEPTH instruction in GLSL: Calculate the depth as dst.x / dst.y
Definition at line 6105 of file glsl_shader.c.
|
static |
Process the WINED3DSIO_TEXDP3 instruction in GLSL: Take a 3-component dot product of the TexCoord[dstreg] and src.
Definition at line 6084 of file glsl_shader.c.
|
static |
Process the WINED3DSIO_TEXDP3TEX instruction in GLSL: Take a 3-component dot product of the TexCoord[dstreg] and src, then perform a 1D texture lookup from stage dstregnum, place into dst.
Definition at line 6040 of file glsl_shader.c.
|
static |
Process the WINED3DSIO_TEXKILL instruction in GLSL. If any of the first 3 components are < 0, discard this pixel
Definition at line 6428 of file glsl_shader.c.
|
static |
Definition at line 5088 of file glsl_shader.c.
|
static |
Definition at line 5115 of file glsl_shader.c.
|
static |
Process the WINED3DSIO_TEXM3X2DEPTH instruction in GLSL: Last row of a 3x2 matrix multiply, use the result to calculate the depth: Calculate tmp0.y = TexCoord[dstreg] . src.xyz; (tmp0.x has already been calculated) depth = (tmp0.y == 0.0) ? 1.0 : tmp0.x / tmp0.y
Definition at line 6126 of file glsl_shader.c.
|
static |
Process the WINED3DSIO_TEXM3X2PAD instruction in GLSL Calculate the 1st of a 2-row matrix multiplication.
Definition at line 6140 of file glsl_shader.c.
|
static |
Definition at line 6166 of file glsl_shader.c.
|
static |
Process the WINED3DSIO_TEXM3X3 instruction in GLSL Perform the 3rd row of a 3x3 matrix multiply
Definition at line 6209 of file glsl_shader.c.
|
static |
Process the WINED3DSIO_TEXM3X3PAD instruction in GLSL Calculate the 1st or 2nd row of a 3-row matrix multiplication.
Definition at line 6153 of file glsl_shader.c.
|
static |
Definition at line 6228 of file glsl_shader.c.
|
static |
Process the WINED3DSIO_TEXM3X3TEX instruction in GLSL Perform the 3rd row of a 3x3 matrix multiply, then sample the texture using the calculated coordinates
Definition at line 6186 of file glsl_shader.c.
|
static |
Definition at line 6261 of file glsl_shader.c.
|
static |
Process the WINED3DSIO_TEXREG2AR instruction in GLSL Sample 2D texture at dst using the alpha & red (wx) components of src as texture coordinates
Definition at line 6379 of file glsl_shader.c.
|
static |
Process the WINED3DSIO_TEXREG2GB instruction in GLSL Sample 2D texture at dst using the green & blue (yz) components of src as texture coordinates
Definition at line 6395 of file glsl_shader.c.
|
static |
Process the WINED3DSIO_TEXREG2RGB instruction in GLSL Sample texture at dst using the rgb (xyz) components of src as texture coordinates
Definition at line 6411 of file glsl_shader.c.
|
static |
Definition at line 4198 of file glsl_shader.c.
|
static |
Definition at line 4188 of file glsl_shader.c.
|
static |
Definition at line 4193 of file glsl_shader.c.
|
static |
Definition at line 5347 of file glsl_shader.c.
|
static |
Definition at line 3732 of file glsl_shader.c.
|
static |
Definition at line 3687 of file glsl_shader.c.
|
static |
Definition at line 1778 of file glsl_shader.c.
|
static |
Definition at line 1766 of file glsl_shader.c.
|
static |
Definition at line 1806 of file glsl_shader.c.
Referenced by set_glsl_shader_program(), shader_glsl_declare_generic_vertex_attribute(), shader_glsl_generate_ffp_fragment_shader(), shader_glsl_generate_ffp_vertex_shader(), shader_glsl_generate_pshader(), and shader_glsl_generate_vshader().
|
static |
Definition at line 1812 of file glsl_shader.c.
Referenced by shader_glsl_declare_shader_inputs(), shader_glsl_declare_shader_outputs(), shader_glsl_shader_input_name(), and shader_glsl_shader_output_name().
|
static |
Definition at line 602 of file glsl_shader.c.
Referenced by shader_generate_glsl_declarations(), shader_glsl_generate_ffp_fragment_shader(), shader_glsl_init_uniform_block_bindings(), shader_glsl_load_images(), and shader_glsl_load_samplers().
|
static |
Definition at line 594 of file glsl_shader.c.
Referenced by shader_glsl_use_explicit_attrib_location(), and shader_glsl_use_layout_binding_qualifier().
void shader_glsl_validate_link | ( | const struct wined3d_gl_info * | gl_info, |
GLuint | program | ||
) |
Definition at line 577 of file glsl_shader.c.
Referenced by draw_test_quad(), set_glsl_shader_program(), and shader_glsl_compile_compute_shader().
Definition at line 2949 of file glsl_shader.c.
Referenced by shader_glsl_color_correction_ext(), shader_glsl_generate_clip_or_cull_distances(), shader_glsl_generate_default_control_point_phase(), shader_glsl_generate_patch_constant_setup(), shader_glsl_generate_stream_output_setup(), shader_glsl_generate_vs3_rasterizer_input_setup(), shader_glsl_get_write_mask(), shader_glsl_input_pack(), shader_glsl_setup_sm3_rasterizer_input(), shader_glsl_setup_sm4_shader_output(), shader_glsl_setup_vs3_output(), shader_glsl_tex(), shader_glsl_texbem(), shader_glsl_texm3x3spec(), and shader_glsl_texm3x3vspec().
|
static |
Definition at line 1734 of file glsl_shader.c.
Referenced by shader_glsl_update_float_pixel_constants(), and shader_glsl_update_float_vertex_constants().
|
static |
Definition at line 1790 of file glsl_shader.c.
Referenced by set_glsl_shader_program(), shader_glsl_generate_pshader(), shader_glsl_generate_sm4_output_setup(), shader_glsl_generate_vs3_rasterizer_input_setup(), shader_glsl_get_register_name(), and shader_glsl_setup_vs3_output().
|
inlinestatic |
Definition at line 8137 of file glsl_shader.c.
Referenced by find_glsl_vshader().
|
inlinestatic |
Definition at line 971 of file glsl_shader.c.
Referenced by shader_glsl_load_constants_f().
|
inlinestatic |
Definition at line 1061 of file glsl_shader.c.
Referenced by shader_glsl_load_constants_f().
WINE_DECLARE_DEBUG_CHANNEL | ( | d3d | ) |
WINE_DECLARE_DEBUG_CHANNEL | ( | winediag | ) |
WINE_DEFAULT_DEBUG_CHANNEL | ( | d3d_shader | ) |
|
static |
Definition at line 1888 of file glsl_shader.c.
Referenced by shader_glsl_declare_shader_inputs(), and shader_glsl_declare_shader_outputs().
Definition at line 55 of file glsl_shader.c.
Referenced by shader_glsl_gather4(), shader_glsl_gen_sample_c_lz(), shader_glsl_get_coord_size(), shader_glsl_get_sample_function(), and shader_glsl_sample_c().
const struct fragment_pipeline glsl_fragment_pipe |
Definition at line 11969 of file glsl_shader.c.
Referenced by select_fragment_implementation(), and set_glsl_shader_program().
|
static |
Definition at line 11840 of file glsl_shader.c.
const struct wined3d_shader_backend_ops glsl_shader_backend |
Definition at line 11110 of file glsl_shader.c.
Referenced by glsl_fragment_pipe_alloc(), glsl_vertex_pipe_vp_alloc(), select_fragment_implementation(), select_shader_backend(), select_vertex_implementation(), shader_glsl_alloc(), use_software_vertex_processing(), and wined3d_arbfp_blitter_create().
const struct wined3d_vertex_pipe_ops glsl_vertex_pipe |
Definition at line 11605 of file glsl_shader.c.
Referenced by select_vertex_implementation(), and set_glsl_shader_program().
|
static |
Definition at line 11466 of file glsl_shader.c.
Definition at line 56 of file glsl_shader.c.
const struct { ... } resource_type_info[] |
Referenced by shader_glsl_atomic(), shader_glsl_gather4(), shader_glsl_get_coord_size(), shader_glsl_get_sample_function(), shader_glsl_ld_uav(), shader_glsl_resinfo(), and shader_glsl_store_uav().
|
static |
Definition at line 10844 of file glsl_shader.c.
Referenced by shader_glsl_handle_instruction().
Used for opcode modifiers - They multiply the result by the specified amount
Definition at line 2463 of file glsl_shader.c.
Referenced by shader_glsl_append_dst_ext().
Definition at line 57 of file glsl_shader.c.
Referenced by shader_glsl_get_sample_function().