Commit Graph

6837 Commits

Author SHA1 Message Date
Stefan Dösinger 3bd0eb3eab wined3d: Use GL_RGB565 if available.
This offers better precision on r300g and r600g than GL_RGB5.
2015-08-20 20:16:15 +09:00
Stefan Dösinger 6626b1a51b wined3d: Use the correct color key in ARBfp color key blits. 2015-08-20 20:16:12 +09:00
Henri Verbeet 62a02a047f d3d10core: Implement d3d10_device_UpdateSubresource(). 2015-08-18 18:28:47 +09:00
Henri Verbeet ee9b1311cd wined3d: Separate loading shader resources and updating their binding points. 2015-08-18 18:28:41 +09:00
Henri Verbeet 8f6f9096d7 wined3d: Also invalidate STATE_SHADER_RESOURCE_BINDING in wined3d_texture_bind_and_dirtify(). 2015-08-18 18:28:39 +09:00
Andrey Gusev 5cdcd4493f Assorted spelling and typos fixes. 2015-08-18 15:00:13 +09:00
Henri Verbeet fca2d19423 dxgi: Implement dxgi_swapchain_ResizeBuffers(). 2015-08-07 23:44:19 +09:00
Henri Verbeet 2735947d76 wined3d: Introduce a separate function to resize swapchain buffers. 2015-08-07 23:44:14 +09:00
Henri Verbeet 7f29d994ad wined3d: Add base format info for WINED3DFMT_R8G8B8A8_UNORM_SRGB. 2015-08-06 23:36:01 +09:00
Henri Verbeet 7f416ff339 wined3d: Validate "data" in buffer_init(). 2015-07-31 12:08:53 +02:00
Henri Verbeet 62454ae71d wined3d: Validate "data" in wined3d_texture_upload_data(). 2015-07-31 12:08:49 +02:00
Stefan Dösinger 34d8b987c4 wined3d: Try to detect the polygon offset scale value.
FEAR draws the same geometry twice, the second time using zfunc=equal.
In both cases it sets a huge depth bias of -0.5, presumably to get
better precision for the fragile Z comparison. The GL polygon offset we
set ends up being so large that it pulls the geometry into the negative
Z range. It isn't clipped (or no longer, older NV drivers probably had a
separate bug there), but the Z value gets clamped to 0.0 in the first
draw and doesn't match the incoming Z in the second draw.
2015-07-30 23:50:57 +02:00
Matteo Bruni 1eb6e5dd80 wined3d: Update GLSL vertex pipe replacement TODO comment.
It turns out most of that has been implemented since the comment was
originally written.
2015-07-29 20:56:44 +02:00
Matteo Bruni a064797e0f wined3d: Don't unnecessarily fallback to immediate mode for FFP draws with the PSIZE attribute. 2015-07-29 20:56:41 +02:00
Michael Stefaniuc d700dbbae7 wined3d: Merge two adjacent ifs with identical condition (PVS-Studio). 2015-07-28 13:41:49 +02:00
Matteo Bruni f2989a2522 wined3d: Only install emulation wrappers when required. 2015-07-28 13:41:48 +02:00
Matteo Bruni 6244735f7a wined3d: Don't crash when emulating GL_EXT_fogcoord. 2015-07-28 13:41:48 +02:00
Matteo Bruni 930d3e6269 wined3d: Allow to apply extension emulation wrappers independently. 2015-07-28 13:41:47 +02:00
Matteo Bruni 12ef1756d2 wined3d: Don't run check_filter() on core contexts.
The code uses glBegin() / glEnd() and other APIs removed from core
profile.
2015-07-28 13:41:47 +02:00
Matteo Bruni 53d1527945 wined3d: Avoid glBegin() / glEnd() in check_fbo_compat() when possible. 2015-07-28 13:41:46 +02:00
Henri Verbeet e2c0c611d4 d3d10core: Implement d3d10_device_CopySubresourceRegion(). 2015-07-20 11:50:27 +02:00
Matteo Bruni a7315eb76a wined3d: Bind a VAO when using core profile contexts. 2015-07-13 22:06:38 +09:00
Matteo Bruni 3c49a012c0 wined3d: Add more entries to the core extensions table. 2015-07-13 22:06:38 +09:00
Matteo Bruni 6dc3ac2b04 wined3d: Make the core extensions enabling table-based. 2015-07-13 22:06:38 +09:00
Matteo Bruni 4c0b1a5038 wined3d: Use GLSL 1.50 on core contexts. 2015-07-09 17:18:22 +09:00
Matteo Bruni a1e718ccab wined3d: Add a setting for the maximum OpenGL version to use. 2015-07-09 17:18:22 +09:00
Matteo Bruni 6521fc78be wined3d: Use the correct texture coordinates in swapchain_blit() in the non-glBlitFramebuffer, NP2 case. 2015-07-09 17:18:22 +09:00
Matteo Bruni 04a195a980 wined3d: Use a core-compatible GL format for ATI2N. 2015-07-07 21:04:12 +09:00
Matteo Bruni 8839e7fb94 wined3d: Use a lookup table to select the sampler function name. 2015-07-07 21:04:05 +09:00
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