Commit Graph

6808 Commits

Author SHA1 Message Date
Józef Kucia 4a8e0ec3d6 wined3d: Implement normals transformation for vertex blending. 2015-07-03 16:51:37 +09:00
Józef Kucia 1f680c52fe wined3d: Implement vertex blending in glsl_vertex_pipe. 2015-07-03 16:51:34 +09:00
Józef Kucia 1fc4a17175 wined3d: Show fixme about unimplemented vertex processing once. 2015-07-03 16:51:29 +09:00
Matteo Bruni 13ceb3fddc wined3d: Don't hardcode WINED3DPTEXTURECAPS_NONPOW2CONDITIONAL cap flag. 2015-07-03 16:51:27 +09:00
Matteo Bruni 4f57581310 wined3d: Improve NP2 fixups in GLSL PS texture sampling code. 2015-07-03 16:51:25 +09:00
Matteo Bruni a8fb1eee49 wined3d: Fix NP2 fixups in GLSL fragment FFP replacement. 2015-07-03 16:51:23 +09:00
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 93c88d34a8 wined3d: Fix GLSL backend with non-GLSL vertex and pixel pipeline combination.
That can only happen by manually modifying
select_vertex_implementation() and select_fragment_implementation(),
which may be useful for testing non-default vertex / fragment pipeline
implementations.
2015-07-03 16:51:17 +09:00
Matteo Bruni af55ae1379 wined3d: Don't flag WINED3D_SHADER_CONST_FFP_PROJ on transformed <-> untransformed vdecl change.
It's unnecessary since the vertex shader is going to change and
shader_glsl_select() flags all the constants used by the shader anyway.
2015-06-19 20:30:10 +09:00
Matteo Bruni 438f68cc38 wined3d: Drop unused gl_info parameter from shader_glsl_ffp_vertex_lighting(). 2015-06-19 20:30:07 +09:00
Matteo Bruni 498e55a182 wined3d: Make use of the EXT_BLEND_SUBTRACT flag.
MSDN mentions a fallback to D3DBLENDOP_ADD if the selected blendop
is not supported. In theory it would be nice to write a test for that but
I don't think this is particularly important and moreover hardware
without that cap seems hard to come by (i.e. I have none)...
2015-06-17 20:01:20 +09:00
Matteo Bruni 35a2406900 wined3d: Drop WINED3D_RS_TEXTUREPERSPECTIVE handling.
The hint is not supported on core profiles. It's not guaranteed to do
anything on compatibility profile either: "The interpretation of hints is
implementation dependent. An implementation may ignore them entirely."

This state was only available on D3D 7 and below (and not guaranteed to
do anything there either, according to older DX SDK docs).
If necessary we could implement it via the GLSL 1.50 "noperspective"
interpolation qualifier, which is what we need to use for the equivalent
D3D10 feature anyway.
2015-06-17 20:01:20 +09:00
Matteo Bruni f6e7e01744 wined3d: Cleanup and simplify texture sampling code generation.
Makes it easier to support the different names and syntax in GLSL 1.50
in the (hopefully) near future.
2015-06-17 20:01:19 +09:00
Matteo Bruni 170dca7741 wined3d: Handle per-vertex point size in the GLSL FFP replacement. 2015-06-17 20:01:19 +09:00
Henri Verbeet c9227bccc5 wined3d: Implement SM4 discard in the GLSL shader backend. 2015-06-15 22:10:35 +09:00
Henri Verbeet b4b2a29dec wined3d: Use surface_get_rect() in wined3d_surface_update_overlay(). 2015-06-15 22:10:35 +09:00
Matteo Bruni 4189d29776 wined3d: Avoid the builtin GLSL vertex attributes. 2015-06-12 21:23:12 +09:00
Stefan Dösinger 4e53faf77b wined3d: Disable the depth stencil on multisample mismatch. 2015-06-10 23:25:04 +09:00
Stefan Dösinger 985c061ad3 wined3d: Downgrade the framebuffer attachment FIXMEs to WARNs. 2015-06-09 22:09:58 +09:00
Stefan Dösinger 733d4b5ecc wined3d: Don't use depth textures without ARB_depth_texture. 2015-06-09 22:09:57 +09:00
Stefan Dösinger 28af7b407b wined3d: Require FBO attachability for render targets and depth stencils. 2015-06-09 22:09:57 +09:00
Stefan Dösinger 04c3c97072 wined3d: Set WINED3DFMT_FLAG_FBO_ATTACHABLE on depth stencil formats. 2015-06-09 22:09:57 +09:00
Stefan Dösinger e8ec01ad51 wined3d: Use renderbuffers if the resource type is RB. 2015-06-09 22:09:57 +09:00
Nikolay Sivov 68fcf9d7cf wined3d: dst_surface can't be NULL at this point (Coverity). 2015-06-08 18:51:54 +09:00
Stefan Dösinger dc7cb59c3a wined3d: Keep track of renderbuffer capabilities. 2015-06-08 18:51:30 +09:00
Stefan Dösinger c8d1a70804 wined3d: Set the gl resource type in resource_init. 2015-06-08 18:51:24 +09:00
Stefan Dösinger ec25ca7832 wined3d: Read format flags from the surface container. 2015-06-08 18:51:21 +09:00
Stefan Dösinger 4451bf477a wined3d: Read format flags from the volume container. 2015-06-08 18:51:13 +09:00
Matteo Bruni 614e52e897 wined3d: Don't use the builtin FFP uniforms for fog parameters. 2015-06-05 16:53:20 +09:00
Matteo Bruni b02a166cc8 wined3d: Introduce a get_fog_start_end() function. 2015-06-05 16:53:16 +09:00
Matteo Bruni 92fbe333d0 wined3d: Handle point sprites with PS 3.0. 2015-06-05 16:52:29 +09:00
Matteo Bruni c186939f32 wined3d: Clamp per-vertex point size in vertex shaders. 2015-06-03 19:52:22 +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 90af08c3b1 wined3d: Avoid the builtin uniforms for point size when using the fixed function vertex pipeline. 2015-05-29 16:44:24 +09:00
Matteo Bruni 953a45303c wined3d: Introduce a get_pointsize() function. 2015-05-29 16:44:18 +09:00
Matteo Bruni 36520c3e9d wined3d: Introduce a get_pointsize_minmax() function. 2015-05-29 16:44:13 +09:00
Matteo Bruni b551da8eef wined3d: Remove point size scaling hack.
Not sure how this was supposed to work, according to the GL spec the
clamping to POINT_SIZE_RANGE happens after the scaling is applied.
2015-05-29 16:44:05 +09:00
Stefan Dösinger 90d8896826 wined3d: Allow specifying a different depth stencil location.
This is for drivers that do not support depth stencil textures, but
happily support depth stencil renderbuffers.
2015-05-25 21:43:18 +09:00
Stefan Dösinger bd658a15b9 wined3d: Check resource types separately in check_fbo_compat. 2015-05-25 21:43:18 +09:00
Matteo Bruni 9586d3b256 wined3d: Make use of more specific device IDs with Nvidia binary drivers. 2015-05-21 20:52:04 +09:00
Matteo Bruni 83254963da wined3d: Add missing entries for Nvidia GPUs. 2015-05-21 20:52:01 +09:00
Matteo Bruni 5b911ed461 wined3d: Fix fragment shaders sampling directly into oC[n] in the ARB backend. 2015-05-20 17:29:09 +09:00
Matteo Bruni 409cda0ac2 wined3d: Dirtify vertex shader on transformed <-> untransformed transitions. 2015-05-20 17:29:05 +09:00
Stefan Dösinger d030c5ad06 wined3d: Don't allow 3D depth textures. 2015-05-19 22:56:14 +09:00
Stefan Dösinger 0356cbfab9 wined3d: Fix a copy / paste mistake. 2015-05-08 14:37:17 +09:00
Marcus Meissner d8a0f77c2b wined3d: Remove superflous check (Coverity). 2015-05-06 18:14:44 +09:00
Matteo Bruni 4b35cf730f wined3d: Fix the TIMESTAMP_DISJOINT query.
Spotted by Patrick Rudolph.
2015-05-05 18:51:10 +09:00
Matteo Bruni 2bab1f7250 wined3d: Check all the ffp_material fields.
The application can override each material parameter with one of the two
FFP vertex color attributes. The 'ambient' struct field in the GLSL shader
can thus happen to be unused and the GL driver may optimize it away.
2015-05-05 18:51:00 +09:00
Matteo Bruni 0c05f9f8fd wined3d: Rename *emission* as *emissive*.
Emission is the OpenGL name, emissive the D3D one. Prefer the latter.
2015-05-05 18:50:56 +09:00