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