Stefan Dösinger
5c7707dc77
wined3d: Move alpha test states to the fragment pipeline.
...
This will allow some color keying cleanups. For Core Contexts we'll have
to emulate alpha testing in shaders anyway.
2015-04-10 21:44:01 +09:00
Stefan Dösinger
5d51c97d07
wined3d: Implement color keying in the glsl fragment pipeline.
2015-04-10 21:43:31 +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
94b0e895db
wined3d: Use GLSL 1.30 for SM4 shaders when available.
...
This is required for bitwise operators in particular if no other extension
provides them.
2015-03-31 18:49:28 +09:00
Henri Verbeet
d0d8a7827b
wined3d: Take WINED3D_PIXEL_CENTER_INTEGER into account when calculating vpos.
2015-03-31 18:49:28 +09:00
Matteo Bruni
05757794a0
wined3d: Don't use the builtin FFP uniform for the projection matrix.
2015-03-27 20:40:38 +09:00
Matteo Bruni
7a8ac888de
wined3d: Don't use the builtin FFP uniform for the normal matrix.
2015-03-27 20:40:38 +09:00
Stefan Dösinger
239e8cad7c
wined3d: Add per-context private data for fragment pipelines.
2015-03-24 20:06:15 +09:00
Henri Verbeet
a33d3ad41b
wined3d: Add support for SV_InstanceID.
2015-03-24 17:41:12 +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
Matteo Bruni
65c8c40b18
wined3d: Use a separate STATE_VIEWPORT state handler in the GLSL pipeline.
2015-03-23 22:59:18 +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
ba396e4212
wined3d: Simplify the wined3d_matrix structure.
2015-03-20 21:32:46 +09:00
Matteo Bruni
9811d85141
wined3d: Don't use the builtin FFP uniform for the modelview matrix.
2015-03-19 20:56:59 +09:00
Matteo Bruni
425dc69fef
wined3d: Use a separate STATE_TRANSFORM(WINED3D_TS_VIEW) state handler in the GLSL pipeline.
2015-03-19 20:56:56 +09:00
Matteo Bruni
99f3e835ac
wined3d: Use a separate STATE_VDECL state handler in the GLSL pipeline.
...
It's mostly a copy of vertexdeclaration() from state.c, with a few
differences due to the new function being private to the GLSL backend
(e.g. d3d_info.vs_clipping is known to be TRUE) and the fragment fog
update part being split out.
2015-03-19 20:56:50 +09:00
Matteo Bruni
38e4cb29e7
wined3d: Depend on the vertex shader state instead of the vertex declaration state where appropriate.
2015-03-18 21:02:55 +09:00
Stefan Dösinger
406cfefc2f
wined3d: Initialize WINED3DTA_TEMP.
2015-03-11 22:09:42 +09:00
Henri Verbeet
3fa8f4ece3
wined3d: Apply modifiers after floatBitsToInt()/floatBitsToUint() in shader_glsl_add_src_param().
2015-02-18 23:21:49 +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
Henri Verbeet
8506da62e0
wined3d: Implement WINED3DSIH_SQRT in the GLSL shader backend.
2015-02-11 23:05:08 +09:00
Matteo Bruni
74b4516bfa
wined3d: Only consider POSITION0 PS inputs as vpos.
2015-02-09 22:05:41 +09:00
Matteo Bruni
96b48191c0
wined3d: Only copy POSITION0 output semantics into gl_Position.
2015-02-09 22:05:35 +09:00
Matteo Bruni
d360a51f3c
wined3d: Use the core version of the shader object functions.
2015-01-23 12:02:37 +01: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
60d44af34e
wined3d: Merge shader_glsl_load_vsamplers() and shader_glsl_load_psamplers().
2015-01-15 17:24:45 +01:00
Henri Verbeet
c6232e1d11
wined3d: Create GL sampler objects for wined3d sampler objects.
2015-01-15 17:24:43 +01:00
Henri Verbeet
5c3d52468c
wined3d: Take the resource data type into account in shader_glsl_gen_sample_code().
2014-12-03 11:14:27 +01:00
Henri Verbeet
3aa9fe6bef
wined3d: Record the data type of shader resources.
2014-12-03 11:14:25 +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
Stefan Dösinger
c9b10beb36
wined3d: Vertex fog uses the absolute eye position z.
2014-11-27 13:27:13 +01:00
Henri Verbeet
8c18ebf66a
wined3d: Recognize the SM4 uge opcode.
2014-11-17 19:30:37 +09:00
Henri Verbeet
8681999eee
wined3d: Explicitly convert the condition to bool shader_glsl_if().
...
In SM4 shaders the condition is likely to be an integer instead of a bool
uniform like in SM3.
2014-11-17 19:30:35 +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
33627f02aa
wined3d: Store bool uniforms location in the GLSL shader structures.
2014-08-28 15:30:26 +02:00
Henri Verbeet
b005ad6f90
wined3d: Use rendertarget views for color output instead of surfaces.
2014-08-21 12:24:42 +02:00
Henri Verbeet
80bca9bc9c
wined3d: Add constant buffer support to the GLSL shader backend.
2014-08-04 14:23:29 +02:00
Henri Verbeet
fa312a32b2
wined3d: Add format information for WINED3DFMT_R8_UNORM.
2014-06-13 10:11:59 +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
c81d3b7336
wined3d: Recognize the SM4 discard opcode.
2014-05-20 09:44:17 +02:00
Henri Verbeet
0eebe0515f
wined3d: Fix a couple of string declarations.
2014-05-02 13:45:10 +02:00
Henri Verbeet
14e3f71c75
wined3d: Bump ps_1x_max_value.
...
Shader model 4 hardware should generally have real floats for everything, and
FLT_MAX matches the value from the Windows drivers for that kind of hardware.
OpenGL requires at least 2^10 for colors, and 2^32 for other floats.
2014-05-02 13:45:04 +02:00
Henri Verbeet
23eed88fde
wined3d: Implement support for per-stage texture stage constants.
...
This patch is loosely based on an earlier patch by Christian Costa.
2014-04-23 15:00:43 +02:00
Jonathan Liu
91c5cf33ad
wined3d: Avoid wined3d_ftoa buffer overflow.
2014-01-14 12:31:37 +01:00
Henri Verbeet
d412eb568e
wined3d: Introduce a common GLSL handler for scalar instructions.
2014-01-09 15:50:30 +01:00
Henri Verbeet
27dc41d0dc
wined3d: Fix the source swizzle for WINED3DSIH_LOG and WINED3DSIH_LOGP.
2013-12-12 12:08:09 +01:00