Commit Graph

214 Commits

Author SHA1 Message Date
Matteo Bruni 30031f6da4 wined3d: Replace an open-coded implementation of LIST_FOR_EACH_ENTRY_SAFE. 2015-07-03 16:51:21 +09:00
Matteo Bruni 92fbe333d0 wined3d: Handle point sprites with PS 3.0. 2015-06-05 16:52:29 +09:00
Matteo Bruni e8cb3bdba5 wined3d: Always enable GL_PROGRAM_POINT_SIZE in the GLSL backend.
Core contexts don't support clamping the point size to GL_POINT_SIZE_MIN
/ GL_POINT_SIZE_MAX.  Incidentally this mostly fixes per-vertex point
sizes for vertex shader version 1 and 2.
2015-06-03 19:52:14 +09:00
Nikolay Sivov 5daf08f2cb wined3d: Remove unnecessary test for 0 (Coverity). 2015-06-02 20:53:43 +09:00
Matteo Bruni f7e0927622 wined3d: Don't use the same va_list multiple times in shader_vaddline(). 2015-04-30 20:07:17 +09:00
Henri Verbeet f09288cfc4 wined3d: Cleanup the sampler map in shader_cleanup() (Valgrind). 2015-04-28 15:34:12 +09:00
Henri Verbeet 4b86f13ade wined3d: Also free the input signature in shader_cleanup() (Valgrind). 2015-04-27 18:05:24 +09:00
Matteo Bruni 84ca0203bf wined3d: Introduce a scratch string buffers framework. 2015-04-27 15:07:03 +09:00
Matteo Bruni 54b4df6731 wined3d: Reduce initial wined3d_string_buffer buffer size to 32.
Also try to avoid unnecessary HeapReAlloc() + vsnprintf() loops when we
know the required size of the buffer.
2015-04-27 15:06:58 +09:00
Matteo Bruni 64463b81df wined3d: Rename struct wined3d_shader_buffer to wined3d_string_buffer.
Also rename the shader_buffer_(clear|init|free) functions.
2015-04-27 15:06:55 +09:00
Henri Verbeet cfd280fd66 wined3d: Get rid of the tracing code in shader_vaddline(). 2015-04-24 14:29:39 +09:00
Stefan Dösinger 4fbaab2020 wined3d: Shadow format flags in wined3d_rendertarget_view. 2015-04-23 20:43:20 +09:00
Stefan Dösinger 9076612e2d wined3d: Shadow format flags in the resource. 2015-04-22 23:24:41 +09:00
Sebastian Lackner 14219b0c3b wined3d: Fix a typo in vertexshader_init.
Should fix the graphical corruptions recently introduced by
002713de6d.
2015-04-08 23:14:24 +09:00
Stefan Dösinger 844c4efb47 wined3d: Give tex_type and its values a better name. 2015-04-03 00:33:28 +09:00
Henri Verbeet f9fafb3686 wined3d: Use the "sysval_semantic" field instead of "semantic_name" to recognize SV_POSITION. 2015-03-24 17:41:09 +09:00
Henri Verbeet f3765e9f77 wined3d: Merge some common shader initialization code into shader_init(). 2015-03-23 22:59:10 +09:00
Henri Verbeet 002713de6d wined3d: Store shader input signatures as a wined3d_shader_signature structure. 2015-03-23 22:59:08 +09:00
Henri Verbeet 2e5ad1b6e3 wined3d: Store shader output signatures as a wined3d_shader_signature structure.
Instead of a fixed array of wined3d_shader_signature_element structures.
Shader model 4 shaders can have different semantics in a single
register, e.g.  v1.xy TEXCOORD0 and v1.zw TEXCOORD1, so having a single
wined3d_shader_signature_element structure per register isn't
necessarily sufficient.
2015-03-23 22:59:07 +09:00
Henri Verbeet e4cb3b5081 wined3d: Recognize the SM4 or opcode. 2015-02-11 23:05:17 +09:00
Henri Verbeet 3225fea30c wined3d: Recognize the SM4 ne opcode. 2015-02-11 23:05:13 +09:00
Matteo Bruni 1612dc4dc9 wined3d: Refuse pixel shaders declaring POSITION0 inputs. 2015-02-09 22:05:43 +09:00
Henri Verbeet 2912e2938e wined3d: Handle the SM4 SV_POSITION pixel shader input semantic in the GLSL shader backend.
This is (mostly) equivalent to the vPos register in SM3.
2015-01-19 14:31:38 +01:00
Henri Verbeet 2e5abc156a wined3d: Implement WINED3DSIH_SAMPLE in the GLSL shader backend. 2015-01-19 14:31:32 +01:00
Henri Verbeet 3aa9fe6bef wined3d: Record the data type of shader resources. 2014-12-03 11:14:25 +01:00
Henri Verbeet f7e485dcf4 wined3d: Handle SM4 resource declarations. 2014-12-03 11:14:23 +01:00
Henri Verbeet f5cef43738 wined3d: Store resource types instead of sampler types in struct wined3d_shader_reg_maps.
The difference doesn't really matter for SM1-3 since resources and samplers
are always tied together, but in SM4 they're separate.
2014-12-03 11:14:21 +01:00
Henri Verbeet 5ccda82acc wined3d: Validate register indices for WINED3DSIH_DCL instructions. 2014-12-03 11:14:14 +01:00
Henri Verbeet 55eb6c6922 wined3d: Assign the name to the correct signature in pixelshader_init(). 2014-12-01 11:00:21 +01:00
Henri Verbeet 8c18ebf66a wined3d: Recognize the SM4 uge opcode. 2014-11-17 19:30:37 +09:00
Henri Verbeet 875a7c5426 wined3d: Use the input signature to setup SM4 pixel shader input semantics. 2014-11-04 16:54:35 +09:00
Henri Verbeet 909c5cc6fa wined3d: Make a copy of shader signature string data. 2014-11-04 16:54:27 +09:00
Matteo Bruni 69c72c969f wined3d: ps_2_0 shaders don't support int or bool constants. 2014-10-16 21:23:33 +09:00
Matteo Bruni e789fadd56 wined3d: Don't replicate shader limits values for each shader. 2014-10-16 21:23:26 +09:00
Matteo Bruni f24e62b303 wined3d: Fail to create shaders using more than the supported number of constants. 2014-10-14 14:00:11 +09:00
Henri Verbeet b005ad6f90 wined3d: Use rendertarget views for color output instead of surfaces. 2014-08-21 12:24:42 +02:00
Henri Verbeet 7b8aa8606c wined3d: Recognize the SM4 ishl opcode. 2014-05-20 09:44:25 +02:00
Henri Verbeet 3555eab8b9 wined3d: Recognize the SM4 dp2 opcode. 2014-05-20 09:44:21 +02:00
Henri Verbeet 0eebe0515f wined3d: Fix a couple of string declarations. 2014-05-02 13:45:10 +02:00
Henri Verbeet c228ffbaf0 wined3d: Unify shader binding points. 2013-10-10 10:44:53 +02:00
Stefan Dösinger b4d8b52fa7 wined3d: Pass position_transformed and gl_info to find_ps_compile_args. 2013-09-11 17:09:59 +02:00
Stefan Dösinger dfeee9077c wined3d: Pass the swizzle map to find_vs_compile_args. 2013-09-11 17:09:56 +02:00
Stefan Dösinger b73464a413 wined3d: Use the ftoa helper function in the ARB shader backend.
This is the ARB equivalent to e0494afa00.
2013-09-05 17:55:48 +02:00
Henri Verbeet b5e0c5d052 wined3d: Get rid of some leftover comments referring to the GL lock. 2013-09-02 18:02:26 +02:00
Henri Verbeet 605136ab04 wined3d: Get rid of the SHADER_PGMSIZE constant. 2013-08-29 19:56:17 +02:00
Henri Verbeet 74faebd68d wined3d: Store the current GLSL program per-context. 2013-08-23 10:41:28 +02:00
Henri Verbeet 69e1100c0c wined3d: Handle NP2 fixup updates in shader_load_constants(). 2013-08-21 12:13:56 +02:00
Henri Verbeet 37d1e8b79c wined3d: Try to avoid redundant constant updates.
This gives a minor performance improvement. For example, in 3DMark03 Game Test
1 this gives about a 4% improvement, in the Counter Strike: Source stress test
it's about 1%. (NVIDIA GF9600M, Intel T9550, 1024x768).
2013-08-16 11:55:24 +02:00
Henri Verbeet 8352d45da5 wined3d: Rename "fogmode" to "wined3d_ffp_ps_fog_mode".
This is mostly for consistency with wined3d_ffp_vs_fog_mode.
2013-05-30 10:57:15 +02:00
Stefan Dösinger 6fce4d4547 wined3d: Pass the state and private data to shader_select. 2013-05-14 18:37:08 +02:00