Commit Graph

744 Commits

Author SHA1 Message Date
Henri Verbeet 07985a8c38 wined3d: Use rendertarget views for depth/stencil buffers instead of surfaces.
I don't think the difference between d3d10 depth/stencil and rendertarget
views is large enough to justify a separate type. Unfortunately that does make
the name "wined3d_rendertarget_view" slightly awkward.
2014-08-22 12:53:11 +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 d079066f5d wined3d: Get rid of the get_drawable_size() callback in struct wined3d_surface. 2014-08-04 14:23:49 +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 0ef760ef82 wined3d: Make vp_ffp_states static. 2014-07-14 19:26:19 +02:00
Henri Verbeet 4710c4b51a wined3d: Store color keys in textures instead of in surfaces. 2014-01-09 15:50:39 +01:00
Henri Verbeet 6b90248aec wined3d: Merge texture2d_bind() and texture3d_bind() into wined3d_texture_bind(). 2013-11-21 13:36:29 +01:00
Henri Verbeet 3d226df3b9 wined3d: Avoid initializing some more variables. 2013-10-29 10:33:58 +01:00
Frédéric Delanoy 5c1ea9bff1 wined3d: Avoid initializing some variables. 2013-10-14 10:45:24 +02:00
Henri Verbeet c228ffbaf0 wined3d: Unify shader binding points. 2013-10-10 10:44:53 +02:00
Henri Verbeet 079b6d4c11 wined3d: Unify the shader state IDs. 2013-10-09 11:11:07 +02:00
Henri Verbeet 8644b62726 wined3d: Move lowest_disabled_stage to the context. 2013-10-07 14:44:35 +02:00
Stefan Dösinger bbfca4863c wined3d: Store the instance count in the context structure. 2013-09-16 13:06:03 +02:00
Stefan Dösinger 112617f00b wined3d: Move tex_unit_map and friends into the context. 2013-09-16 13:05:58 +02:00
Stefan Dösinger d8c43aabf7 wined3d: Move the decoded stream info into the context. 2013-09-12 17:48:14 +02:00
Stefan Dösinger 87f931dc64 wined3d: Only invalidate STATE_INDEXBUFFER for the current context in buffer_get_sysmem(). 2013-09-09 22:10:00 +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 69e1100c0c wined3d: Handle NP2 fixup updates in shader_load_constants(). 2013-08-21 12:13:56 +02:00
Henri Verbeet 62859daf0b wined3d: Avoid looking up shaders for shader stages that didn't change. 2013-08-21 12:13:56 +02:00
Henri Verbeet c1a7323fac wined3d: Avoid some redundant state_pscale() calls. 2013-08-19 12:53:21 +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
Stefan Dösinger b648b74191 wined3d: Pass fogstart==fogend to GL in fog table mode. 2013-06-19 20:09:53 +02:00
Henri Verbeet ffc9f535eb wined3d: Handle pre-transformed vertices in the GLSL vertex pipe.
This also avoids a fallback to drawStridedSlow().
2013-06-14 11:46:31 +02:00
Henri Verbeet 8a7ddfbb53 wined3d: Don't use state_colormat() with the GLSL vertex pipe.
None of the code in there should be needed for the GLSL vertex pipe, and the
"untracked materials" counter in particular will trigger an unnecessary
fallback to drawStridedSlow().
2013-06-14 11:46:27 +02:00
Francois Gouget 145c417e98 wined3d: Make state_fog_vertexpart() static. 2013-06-06 11:47:02 +02:00
Henri Verbeet 74c5a22daa wined3d: Only invalidate the current ffp vertex shader if the light type changed.
As opposed to any time a light parameter changed.
2013-05-29 12:12:33 +02:00
Henri Verbeet bdd97858bf wined3d: Only write gl_ClipVertex if clipping is enabled in shader_glsl_generate_ffp_vertex_shader(). 2013-05-29 12:12:32 +02:00
Henri Verbeet 1c2392ddb0 wined3d: Only write gl_PointSize for point primitives in shader_glsl_generate_ffp_vertex_shader(). 2013-05-29 12:12:32 +02:00
Henri Verbeet 2014141a25 wined3d: Add support for GLSL based fixed function vertex shaders. 2013-05-29 12:12:32 +02:00
Henri Verbeet 50a3864515 wined3d: Just remove the D3DCMP_NOTEQUAL / D3DCMP_EQUAL FIXME in state_zfunc().
As far as I'm aware this just works, I'm not aware of any open issues related
to it.
2013-05-28 14:55:08 +02:00
Henri Verbeet 97b6299eaf wined3d: Expose WINED3DVTXPCAPS_TEXGEN_SPHEREMAP.
Since we already implement it. Tweening will likely never work with fixed
function GL.
2013-05-28 14:55:00 +02:00
Henri Verbeet b5df8bd4f5 wined3d: Use debug_d3dstate() in compile_state_table() as well. 2013-05-28 14:54:54 +02:00
Stefan Dösinger 76941eff00 wined3d: Move gl_info->limits.max_texture_stages to d3d_info. 2013-04-25 20:25:10 +02:00
Stefan Dösinger 16e862ba9d wined3d: Add a new structure for d3d limits and other info. 2013-04-25 20:25:07 +02:00
Henri Verbeet 471991eb9a wined3d: Introduce a wined3d_vertex_pipe_ops structure. 2013-04-25 13:39:56 +02:00
Stefan Dösinger c371af0d5c wined3d: Get rid of device->view_ident. 2013-04-24 18:26:56 +02:00
Henri Verbeet c756496326 wined3d: Rename the device "strided_streams" field to "stream_info".
The "strided" in there is mostly historic, it hasn't really been accurate for
a while now.
2013-04-22 15:26:11 +02:00
Henri Verbeet 0e0e3b76f5 wined3d: Move "ffp_proj_control" to the fragment caps. 2013-01-21 12:51:21 +01:00
Henri Verbeet f3dbbba48e wined3d: Initialize the various backends in wined3d_adapter_init_nogl() as well. 2013-01-16 12:22:43 +01:00
Henri Verbeet 5b42297a31 wined3d: Remove a redundant condition in the indexbuffer() state handler.
Strided draws don't use VBOs.
2013-01-07 11:12:19 +01:00
Henri Verbeet 78984cf46c wined3d: Get rid of ENTER_GL / LEAVE_GL. 2012-12-11 12:03:39 +01:00
Henri Verbeet 1835e2f5ba wined3d: Add support for ARB_instanced_arrays. 2012-12-03 12:37:49 +01:00
Henri Verbeet 52c6abb485 wined3d: Resolve the instance count for instanced arrays in load_numbered_arrays(). 2012-12-03 12:37:42 +01:00
Stefan Dösinger 483d025795 wined3d: Add an explicit break in case of unhandled BUMPENVMAP. 2012-12-03 12:37:14 +01:00
Henri Verbeet ffd892f6dd wined3d: Make state_geometry_shader() static. 2012-11-16 11:39:50 +01:00
Henri Verbeet 9081f8afb1 d3d10core: Implement d3d10_device_GSSetShader(). 2012-11-14 11:27:40 +01:00
Henri Verbeet 10d46bc042 wined3d: Add support for GLSL based fixed function fragment shaders. 2012-11-12 12:15:25 +01:00
Henri Verbeet d74cb4571b wined3d: Simplify shader selection. 2012-11-05 11:30:32 +01:00
Henri Verbeet 5059da9e32 wined3d: Don't depend on device internals in fragment_pipeline.alloc_private().
In particular, device->shader_backend and device->shader_priv aren't
initialized yet when the fragment pipe is initialized.
2012-10-29 10:47:03 +01:00
Henri Verbeet 17e33e9b27 wined3d: Make the shader backend responsible for controlling the fixed function fragment pipe. 2012-10-25 11:48:31 +02:00
Matteo Bruni 902049c054 wined3d: Fix pixel format masks. 2012-08-15 12:17:46 +02:00
Henri Verbeet 894d161891 wined3d: Call core GL functions through gl_info.gl_ops as well. 2012-07-25 20:10:08 +02:00
Henri Verbeet af1ba676c8 wined3d: Pass a gl_info structure to fragment_pipeline.enable_extension(). 2012-07-25 20:01:31 +02:00
Henri Verbeet ea8dfe640d wined3d: Convert some uppercase hex constants to lowercase. 2012-07-20 13:59:53 +02:00
Alexandre Julliard 2f31a66941 wined3d: Load glPointParameter functions as extensions rather than standard OpenGL functions. 2012-07-19 16:47:49 +02:00
Thomas Faber a6510b3fbc wined3d: Use INFINITY. 2012-06-18 11:59:41 +02:00
Henri Verbeet 611b541f29 wined3d: Set undefined vertex attributes to 0.0. 2012-06-12 17:27:39 +02:00
Francois Gouget 19ba80e7c2 wined3d: We must include Wine's port.h before using NAN. 2012-06-01 17:41:52 +02:00
Henri Verbeet e3ecfa5974 wined3d: Store user clip planes as 4-component float vectors. 2012-05-22 18:07:02 +02:00
Henri Verbeet 29893d8162 wined3d: Determine index buffer location based on vertex buffer locations. 2012-05-03 11:18:03 +02:00
Henri Verbeet 06aab27197 wined3d: Remove a texture dimension check in state_alpha().
I don't think there's any reason color-keying shouldn't work on e.g. cube
textures, although it probably isn't very common either.
2012-03-09 11:32:22 +01:00
Henri Verbeet b8a22ebef0 wined3d: Remove an outdated comment from load_vertex_data(). 2012-03-08 17:58:02 +01:00
Henri Verbeet 3d5ca7ab64 wined3d: Remove an outdated comment in state_zwritenable().
We actually do have tests for this.
2012-03-08 17:57:58 +01:00
Henri Verbeet 639ea0f49c wined3d: Remove a transformed vertex loading hack in load_vertex_data().
This should never be used, we fall back to drawStridedSlow() for transformed vertices.
2012-03-08 17:57:46 +01:00
Henri Verbeet 9c25758656 wined3d: Support color keyed WINED3DFMT_B8G8R8A8_UNORM surfaces.
Color keying and alpha channels aren't mutually exclusive.
2012-02-29 10:31:09 +01:00
Henri Verbeet d17f037fb1 wined3d: Disable z-clipping for transformed vertices when WINED3D_RS_ZENABLE is disabled. 2012-02-24 09:55:52 +01:00
Henri Verbeet f38e94af7c wined3d: Get rid of the WINED3DTRANSFORMSTATETYPE typedef. 2012-01-12 12:37:18 +01:00
Henri Verbeet b6431d9493 wined3d: Get rid of the WINED3DTEXTUREOP typedef. 2012-01-11 17:47:22 +01:00
Henri Verbeet 43fcbcb36e wined3d: Get rid of the WINED3DTEXTURESTAGESTATETYPE typedef. 2012-01-10 10:47:27 +01:00
Henri Verbeet 08545dc739 wined3d: Get rid of the WINED3DSAMPLERSTATETYPE typedef. 2012-01-09 12:22:12 +01:00
Henri Verbeet c77b414787 wined3d: Get rid of the WINED3DPATCHEDGESTYLE typedef. 2012-01-05 20:54:25 +01:00
Henri Verbeet c3cc92e472 wined3d: Get rid of the WINED3DMATERIALCOLORSOURCE typedef. 2012-01-05 20:54:24 +01:00
Henri Verbeet fd8597b2bf wined3d: Get rid of the WINED3DSTENCILOP typedef. 2012-01-03 23:40:50 +01:00
Henri Verbeet 808e926783 wined3d: Get rid of the WINED3DCULL typedef. 2012-01-03 23:40:46 +01:00
Henri Verbeet a03eeb5cac wined3d: Get rid of the WINED3DFILLMODE typedef. 2012-01-03 12:37:31 +01:00
Henri Verbeet 16e9d728f4 wined3d: Get rid of the WINED3DSHADEMODE typedef. 2012-01-03 12:37:30 +01:00
Henri Verbeet 6623a8cfa9 wined3d: Get rid of the WINED3DFOGMODE typedef. 2011-12-22 10:08:52 +01:00
Henri Verbeet 00096c82fd wined3d: Get rid of the WINED3DZBUFFERTYPE typedef. 2011-12-22 10:08:48 +01:00
Henri Verbeet 1ec609670f wined3d: Get rid of the WINED3DCMPFUNC typedef. 2011-12-21 10:14:54 +01:00
Henri Verbeet b79dc388c3 wined3d: Get rid of the WINED3DVERTEXBLENDFLAGS typedef. 2011-12-21 10:14:50 +01:00
Henri Verbeet 3082c1a9de wined3d: Get rid of the WINED3DRENDERSTATETYPE typedef. 2011-12-20 10:11:47 +01:00
Henri Verbeet 5bddd4427d wined3d: Get rid of the WINED3DDEGREETYPE typedef. 2011-12-20 10:11:39 +01:00
Henri Verbeet 969f3be73f wined3d: Get rid of the WINED3DBLENDOP typedef. 2011-12-19 20:15:49 +01:00
Henri Verbeet b39125d2f0 wined3d: Get rid of the WINED3DBLEND typedef. 2011-12-19 20:15:49 +01:00
Henri Verbeet b55b683b08 wined3d: Get rid of the WINED3DLIGHTTYPE typedef. 2011-12-12 10:20:57 +01:00
Henri Verbeet 7416953e81 wined3d: Get rid of the WINED3DLINEPATTERN typedef. 2011-11-23 09:13:54 +01:00
Henri Verbeet be8917cd91 wined3d: Get rid of the WINED3DVIEWPORT typedef. 2011-11-22 10:52:40 +01:00
Henri Verbeet 02bb70fc3b wined3d: Get rid of the WINED3DMATERIAL typedef. 2011-11-21 11:01:02 +01:00
Henri Verbeet f597359727 wined3d: Get rid of the WINED3DLIGHT typedef. 2011-11-21 11:00:57 +01:00
Henri Verbeet 27132a30f5 wined3d: Construct the non-rhw projection matrix directly in transform_projection(). 2011-11-02 12:27:50 +01:00
Henri Verbeet 6e7f33a7f0 wined3d: Construct the rhw projection matrix directly in transform_projection(). 2011-11-02 12:27:40 +01:00
Stefan Dösinger 9bcd58f312 wined3d: Disable range fog with per-pixel fog. 2011-09-15 15:41:41 +02:00
Stefan Dösinger efba48ccfb wined3d: Don't load/unload unsupported texture coordinate attribs. 2011-09-12 10:09:48 +02:00
Matteo Bruni c74c544cc6 wined3d: Store maximum vertex attributes count. 2011-08-29 12:08:19 +02:00
Matteo Bruni 7c6bd2f287 wined3d: Use dummy textures for all the texture targets. 2011-08-29 12:08:19 +02:00
Matteo Bruni 0386b44bad wined3d: Keep track of the current texture type for each texture unit. 2011-08-29 12:08:19 +02:00
Matteo Bruni f47f9f7c74 wined3d: Store currently active texture in the wined3d context. 2011-08-25 11:31:55 +02:00
Matteo Bruni e53ae83d74 wined3d: Pass around the context instead of gl_info. 2011-08-25 11:31:55 +02:00
Henri Verbeet 812a314821 wined3d: Get rid of the fglrx point sprite hack.
Fglrx 9.3 is well over 2 years old at this point. I'd strongly encourage
anyone still affected by this to upgrade to the r300g driver.
2011-08-05 09:17:59 +02:00
Frédéric Delanoy 7e309601f3 dlls: Assorted spelling fixes. 2011-08-03 14:15:50 +02:00