Commit Graph

759 Commits

Author SHA1 Message Date
Andrew Talbot c61b14cbcc wined3d: Indentation fix. 2012-12-24 13:30:20 +01:00
Henri Verbeet 78984cf46c wined3d: Get rid of ENTER_GL / LEAVE_GL. 2012-12-11 12:03:39 +01:00
Stefan Dösinger e53aa8c9e2 wined3d: Test the correct program for native limits. 2012-12-05 12:47:55 +01:00
Henri Verbeet 10d46bc042 wined3d: Add support for GLSL based fixed function fragment shaders. 2012-11-12 12:15:25 +01:00
Matteo Bruni a7956c4c4f wined3d: Pop control frames in disabled if branches (ARB shader backend). 2012-11-09 16:42:56 +01:00
Matteo Bruni b532284a9e wined3d: Ensure GL_FRAGMENT_PROGRAM_ARB is enabled when using ARB shaders. 2012-11-09 16:42:53 +01:00
Henri Verbeet 0e856abf6d wined3d: Enable or disable the fragment pipe in shader_select(). 2012-11-05 11:30:33 +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
Henri Verbeet 41c8f1ef8a wined3d: Remove some dead code from gen_ffp_instr(). 2012-10-24 11:24:25 +02:00
Henri Verbeet 672ad06108 wined3d: Get rid of the mostly unused "num_textures_used" field from arbfp_ffp_desc. 2012-10-23 12:11:26 +02:00
Henri Verbeet 6f025deba6 wined3d: Move shader_is_pshader_version() and shader_is_vshader_version() to the ARB program shader backend. 2012-10-23 12:11:18 +02:00
Henri Verbeet 5626e165ff wined3d: Introduce a structure for shader register indices. 2012-10-15 13:31:07 +02:00
Henri Verbeet 6d948e1a8c wined3d: Recognize the SM4 dcl_constantBuffer opcode. 2012-10-01 23:08:00 +02:00
Henri Verbeet fb989f1d1e wined3d: Implement version checks for geometry shaders. 2012-09-19 13:04:56 +02:00
Henri Verbeet a67ee02a48 wined3d: Recognize the SM4 dcl_outputTopology opcode. 2012-09-17 12:28:40 +02:00
Henri Verbeet 0fbb98424c wined3d: Recognize the SM4 dcl_inputPrimitive opcode. 2012-09-17 12:28:36 +02:00
Henri Verbeet d574d639a4 wined3d: Recognize the SM4 dcl_maxOutputVertexCount opcode. 2012-09-17 12:28:28 +02:00
Henri Verbeet a7bad0bde5 wined3d: Just handle all instructions in the shader backend. 2012-09-14 15:43:28 +02:00
Matteo Bruni d37f8ea866 wined3d: Use BOOL instead of char in shader_load_constants(). 2012-08-21 11:45:55 +02:00
Matteo Bruni 7cc4f47afe wined3d: Force ARB shader programs reselection on bool/int constant changes.
The ARB shader backend hardcodes some constant-dependent state in the shader
itself (e.g. branch taken/not taken). So, we have to make sure to update the
selected ARB shader when the application modifies non-float constants.
2012-08-21 11:45:47 +02:00
Matteo Bruni 152a09ce75 wined3d: Use GL_FRAMEBUFFER_SRGB when possible. 2012-08-15 12:15:42 +02:00
Michael Stefaniuc 4ddfcc2cf1 wined3d: Avoid TRUE-FALSE conditional expressions. 2012-07-26 12:11:29 +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
Alexandre Julliard d7250e97ed wined3d: Fetch GL functions from the WGL driver table, including glFinish and glFlush. 2012-07-20 13:21:27 +02:00
Henri Verbeet 86db5b601f wined3d: Use the proper texture target in arbfp_blit_set().
For cube maps, texture->target is GL_TEXTURE_CUBE_MAP and would be used for
calls that apply to the entire texture, like glTexParameter().
surface->texture_target refers to individual faces like
GL_TEXTURE_CUBE_MAP_POSITIVE_X, etc., and would be used for calls like
glTexImage2D(). What makes this a bit ugly is the fact that surfaces don't
always have an associated texture.
2012-07-17 12:50:21 +02:00
Henri Verbeet c11c2e2dbb wined3d: Get rid of the d3d_caps debug channel. 2012-06-22 16:14:26 +02:00
Francois Gouget 19ba80e7c2 wined3d: We must include Wine's port.h before using NAN. 2012-06-01 17:41:52 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02:00
Matteo Bruni 7e3c7840e3 wined3d: Support WINED3D_TTFF_COUNT3 texture projection in the ARB backend. 2012-03-28 15:09:18 +02:00
Matteo Bruni 4ed605f081 wined3d: Clamp fog coordinate in the ARB backend too. 2012-03-09 17:26:01 +01:00
Henri Verbeet bee9adbd05 wined3d: Get rid of the WINED3DDECLUSAGE typedef. 2012-01-19 11:56:47 +01:00
Henri Verbeet e53a277305 wined3d: Get rid of the WINED3DPOOL typedef. 2012-01-18 12:37:38 +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 6623a8cfa9 wined3d: Get rid of the WINED3DFOGMODE typedef. 2011-12-22 10:08:52 +01:00
Henri Verbeet 3082c1a9de wined3d: Get rid of the WINED3DRENDERSTATETYPE typedef. 2011-12-20 10:11:47 +01:00
Matteo Bruni fdd4df446f wined3d: Fix some flag checks. 2011-12-13 14:00:24 +01:00
Henri Verbeet 107369d018 wined3d: Disable client storage in upload_palette().
Stack pointers don't work so well with client storage.
2011-12-06 15:50:58 +01:00
Francois Gouget 51a256e65f Assorted spelling fixes and wording tweaks. 2011-11-28 16:40:50 +01:00
Henri Verbeet 24775459c8 wined3d: Don't apply fixups to converted surfaces. 2011-11-25 16:21:56 +01:00
Henri Verbeet 14cf780fde wined3d: Recognize the SM4 xor opcode. 2011-11-22 10:52:33 +01:00
Henri Verbeet d695dd3af4 wined3d: Recognize the SM4 ushr opcode. 2011-11-22 10:52:29 +01:00
Henri Verbeet 9afff037e5 wined3d: Recognize the SM4 udiv opcode. 2011-11-22 10:52:25 +01:00
Henri Verbeet e2d099a14d wined3d: Recognize the SM4 round_ni opcode. 2011-11-21 11:00:50 +01:00
Henri Verbeet 829e28cb4d wined3d: Recognize the SM4 ge opcode. 2011-11-21 11:00:46 +01:00
Henri Verbeet af11214562 wined3d: Recognize the SM4 eq opcode. 2011-11-21 11:00:42 +01:00
Henri Verbeet 7459180a51 wined3d: Get rid of the WINED3DCOLORVALUE typedef. 2011-11-16 09:41:50 +01:00
Henri Verbeet 563edce2fa wined3d: Get rid of the WINED3DSHADER_PARAM_SRCMOD_TYPE typedef. 2011-11-15 16:09:09 +01:00
Henri Verbeet adf7c33023 wined3d: Get rid of the COMPARISON_TYPE typedef. 2011-11-09 11:34:32 +01:00
Henri Verbeet a64271c07e wined3d: Make the surface parameter to blit_shader.set_shader() const. 2011-11-07 11:32:47 +01:00
Henri Verbeet 12268879a2 wined3d: Make the surface parameter to upload_palette() const. 2011-11-07 11:32:42 +01:00
Andrew Talbot a89584415b wined3d: Remove unneeded address-of operators from array names. 2011-11-04 14:44:56 +01:00
Henri Verbeet 55d8063e67 wined3d: Make the shader parameter to shader_arb_generate_pshader() const. 2011-11-04 10:44:54 +01:00
Henri Verbeet e3a105a626 wined3d: Make the shader parameter to shader_arb_generate_vshader() const. 2011-11-04 10:44:49 +01:00
Henri Verbeet 3a9001fbb6 wined3d: Make the shader parameter to init_output_registers() const. 2011-11-04 10:44:42 +01:00
Henri Verbeet e718306255 wined3d: Make some parameters to shader_generate_arb_declarations() const. 2011-11-04 10:44:37 +01:00
Henri Verbeet 3bfecd58d2 wined3d: Avoid a drawable -> texture transfer through sysmem in arbfp_blit_surface() with backbuffer ORM. 2011-11-04 10:44:14 +01:00
Henri Verbeet 78bd84cc12 wined3d: Make the shader parameter to shader_arb_load_constantsF() const. 2011-11-02 12:27:59 +01:00
Henri Verbeet b49e08aa8d wined3d: Get rid of the local_constant typedef. 2011-10-31 23:52:59 +01:00
Matteo Bruni 7254f5e661 wined3d: Return only the shader major version. 2011-10-26 12:41:34 +02:00
Henri Verbeet 7aac0159a9 wined3d: Move the ARB shader program constant handling to the backend where it belongs. 2011-10-26 12:41:33 +02:00
Stefan Dösinger eb79a26493 wined3d: Only the ARBfp fragement pipeline reads emulated clip coords. 2011-09-15 15:41:41 +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 317d76abb4 wined3d: Use draw_binding in arbfp_blit_surface(). 2011-08-24 11:58:14 +02:00
Henri Verbeet c592d553f0 wined3d: Reject color blits on sysmem surfaces in arbfp_blit_supported(). 2011-08-23 16:53:51 +02:00
Henri Verbeet e74d1358ac wined3d: Remove the unused blit_op parameter to arbfp_blit_surface(). 2011-08-04 09:04:20 +02:00
Frédéric Delanoy 7e309601f3 dlls: Assorted spelling fixes. 2011-08-03 14:15:50 +02:00
Henri Verbeet b09b7e323c wined3d: Store a pointer to the state table in the context. 2011-07-25 11:59:15 +02:00
Henri Verbeet e4d2d78500 wined3d: Pass a wined3d_state pointer to state handlers.
Instead of an entire stateblock. This is mainly useful is we ever want to call
state handlers on state not stored in a stateblock.
2011-07-14 14:11:25 +02:00
Henri Verbeet fcf4303e1a wined3d: Store a pointer to the framebuffer state in struct wined3d_state. 2011-07-14 14:11:07 +02:00
Henri Verbeet d1b650e959 wined3d: Explicitly pass gl_info to gen_arbfp_ffp_shader(). 2011-07-12 11:34:58 +02:00
Henri Verbeet 1f6f94675e wined3d: Only use state contained in the ffp_frag_settings structure in gen_arbfp_ffp_shader().
Note that the actual check looks off by one too.
2011-07-12 11:34:55 +02:00
Henri Verbeet 0df3db37ac wined3d: Explicitly pass device and state to gen_ffp_frag_op(). 2011-07-06 11:14:29 +02:00
André Hentschel a7c1b5f02e wined3d: Remove dead code (clang). 2011-07-04 19:06:51 +02:00
Stefan Dösinger 1bc01f8f87 wined3d: Get rid of the has_signature_idx field in the ARB ps private data. 2011-06-24 11:58:11 -05:00
Stefan Dösinger 3a3b482864 wined3d: Fix a typo in compare_sig in the arb backend. 2011-06-24 11:58:04 -05:00
Henri Verbeet 5a26da1d19 wined3d: Make the wined3d_shader_context shader pointer const. 2011-06-23 09:47:34 +02:00
Stefan Dösinger dda91ac02a wined3d: Call frag_pipe->enable_extension under the GL lock. 2011-05-26 16:41:14 +02:00
Stefan Dösinger dbd8786394 wined3d: CMP supports _SAT.
This is a partial revert of c9ef1ed28c. I don't know where I got the
idea that CMP does not support _SAT, but I suspect that my driver at the time was broken.
2011-05-25 12:23:10 +02:00
Henri Verbeet 019f6a8534 wined3d: Mask out writes to unused render targets.
Outputs not written by the pixel shader are undefined in GL, but in D3D the
render target is unmodified.
2011-05-25 11:49:23 +02:00
Henri Verbeet aba42d1fa5 wined3d: Introduce a separate structure for framebuffer state. 2011-05-19 10:07:57 +02:00
Henri Verbeet 0e0e5c3e38 wined3d: Get rid of the IWineD3DDevice typedefs. 2011-05-17 10:06:23 +02:00
Stefan Dösinger e4038ebab9 wined3d: Fix a copypaste typo. 2011-05-16 16:35:30 +02:00
Stefan Dösinger c2aab4258a wined3d: Separate two unrelated variables. 2011-05-13 17:05:27 +02:00
Stefan Dösinger 560c63d64e wined3d: Pass the render target height as UINT. 2011-05-13 17:05:27 +02:00
Matteo Bruni 4f96f4f467 wined3d: Fix pow handling with special values in ARB backend. 2011-05-05 17:26:12 +02:00
Henri Verbeet 86b0c6bd7b wined3d: Rename "shader_backend_t" to "wined3d_shader_backend_ops".
This makes it more consistent with the other call table names in wined3d.
2011-05-05 11:45:22 +02:00
Henri Verbeet c4b73c4550 wined3d: Get rid of the IWineD3DSurface typedefs. 2011-04-29 16:52:13 +02:00
Matteo Bruni 9da924039f wined3d: Split pow instruction handling in the ARB backend. 2011-04-28 12:12:18 +02:00
Matteo Bruni db8d681a5b wined3d: Remove rcp special handling of 0 from the ARB shader backend. 2011-04-28 12:11:55 +02:00
Matteo Bruni 0210a8384a wined3d: Add missing temporary variable declaration to ARB shader backend. 2011-04-28 12:11:53 +02:00
Henri Verbeet a05841bd1a wined3d: Rename "pCaps" to "caps". 2011-04-27 11:50:29 +02:00
Henri Verbeet 66875c6dc7 wined3d: Don't flush just because a swapchain has multiple contexts.
If you really have e.g. multiple draws to the same drawable, this is not
enough, and you should use the StrictDrawOrdering registry setting. In the
other cases it just slows things down unnecessarily.
2011-04-15 10:07:58 +02:00
Henri Verbeet d30da7ae39 wined3d: Get rid of the IWineD3DSwapChain typedefs. 2011-04-14 17:13:57 +02:00
Henri Verbeet 519a3a9162 wined3d: Add depth fills to the blitter interface. 2011-04-06 12:05:07 +02:00