Commit Graph

836 Commits

Author SHA1 Message Date
Henri Verbeet 8352d45da5 wined3d: Rename "fogmode" to "wined3d_ffp_ps_fog_mode".
This is mostly for consistency with wined3d_ffp_vs_fog_mode.
2013-05-30 10:57:15 +02:00
Stefan Dösinger 121bd9d201 wined3d: Initialize the gl_info pointer from the context. 2013-05-15 19:04:16 +02:00
Stefan Dösinger b12ec91c09 wined3d: Don't log the device pointer in shader_arb_select. 2013-05-15 19:04:04 +02:00
Stefan Dösinger 71723ad086 wined3d: Disable the fixed function vertex pipeline when ARB vertex programs are used. 2013-05-14 18:37:13 +02:00
Stefan Dösinger 6fce4d4547 wined3d: Pass the state and private data to shader_select. 2013-05-14 18:37:08 +02:00
Stefan Dösinger 47f385adf0 wined3d: Add a separate function for disabling shaders. 2013-05-14 18:37:04 +02:00
Stefan Dösinger 036a62a245 wined3d: Explicitly pass the state to shader_load_constants. 2013-05-14 18:36:59 +02:00
Stefan Dösinger 5d138799ea wined3d: Don't access the stateblock from shader_arb_load_constants_internal. 2013-05-14 18:36:53 +02:00
Stefan Dösinger 260e1cb0b3 wined3d: Pass the pixel shader input signature to shader_arb_generate_vshader. 2013-05-13 19:57:11 +02:00
Stefan Dösinger e25b968499 wined3d: Fix a ~0U assignment. 2013-05-13 19:57:09 +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 768e8c098c wined3d: Move shader limits to wined3d_d3d_info. 2013-04-25 20:25:09 +02:00
Stefan Dösinger f7580726b0 wined3d: Don't pass the device to gen_ffp_frag_op. 2013-04-25 20:25:08 +02:00
Stefan Dösinger 820c12c98f wined3d: Access gl_info and d3d_info from the context in find_arb_*_compile_args. 2013-04-25 20:25:08 +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
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
Stefan Dösinger 0680b1758d wined3d: Store ps 1.4 texture types in ps_compile_args. 2013-04-15 17:45:58 +02:00
Stefan Dösinger 547be26d90 wined3d: Use the np2_fixup to find out if a RECT texture is used. 2013-04-15 17:45:54 +02:00
Stefan Dösinger 8c2874ee99 wined3d: Put local constants into the shader code in ARB shaders. 2013-04-09 16:33:31 +02:00
Ričardas Barkauskas b5ff0a6983 wined3d: Rename bsize to content_size to reflect usage. 2013-02-26 11:27:39 +01:00
Stefan Dösinger 3221e7fdd0 wined3d: Reserve one vs constant on r200. 2013-02-11 11:24:35 +01:00
Michael Stefaniuc b28aff0dd7 wined3d: Use assignment instead of memcpy to copy structs. 2013-01-28 14:00:18 +01:00
Henri Verbeet dc21460397 wined3d: Replace "VertexShaderMode" and "PixelShaderMode" with shader model limits. 2013-01-25 11:18:13 +01:00
Henri Verbeet 5ce220eb2f wined3d: Add sRGB writes to the shader backend and fragment pipe caps. 2013-01-22 12:13:42 +01:00
Henri Verbeet c525cf381d wined3d: Move "vs_clipping" to the shader caps. 2013-01-21 12:51:22 +01:00
Henri Verbeet 0e0e3b76f5 wined3d: Move "ffp_proj_control" to the fragment caps. 2013-01-21 12:51:21 +01:00
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
Henri Verbeet 90da00927e wined3d: Make "blit_operation" naming a bit more consistent. 2011-04-06 12:05:06 +02:00
Henri Verbeet 6aa02f11ea wined3d: Fix ARB_0001 with pixel shaders in arb_get_helper_value(). 2011-04-04 11:53:45 +02:00
Henri Verbeet 8fe80e18b2 wined3d: Get rid of the IWineD3DBaseShader typedefs. 2011-03-31 12:37:47 +02:00
Henri Verbeet f8f83ff2f7 wined3d: Remove COM from the shader implementation. 2011-03-31 12:37:46 +02:00
Henri Verbeet 5555d904be wined3d: Get rid of IWineD3DBaseShaderClass. 2011-03-31 12:37:46 +02:00
Henri Verbeet 99bed5d41d wined3d: Get rid of IWineD3DPixelShaderImpl. 2011-03-30 12:18:20 +02:00
Henri Verbeet dab01d435e wined3d: Get rid of IWineD3DVertexShaderImpl. 2011-03-30 12:18:09 +02:00
Henri Verbeet c5bf96c951 wined3d: Get rid of IWineD3DBaseTextureClass. 2011-03-29 12:34:40 +02:00
Maarten Lankhorst d19f840361 wined3d: Fix a clipping issue with D3DSPSM_SIGNNEG. 2011-03-28 18:42:37 +02:00
Roderick Colenbrander b2132202c7 wined3d: Check for ARB_fragment_program in arbfp_blit_supported. 2011-03-28 18:35:28 +02:00
Marcus Meissner 14d246665b wined3d: Mark up fallthrough breaks (Coverity). 2011-03-28 17:11:06 +02:00
Henri Verbeet eb5bfad18d wined3d: Get rid of the IWineD3DBaseTexture typedefs. 2011-03-28 17:08:52 +02:00
Henri Verbeet ac9c592ca9 wined3d: Store all the resource desc information in struct wined3d_resource. 2011-03-09 12:29:17 +01:00
Matteo Bruni 75386a99b4 wined3d: Make clip planes independent from offscreen/onscreen drawing. 2011-02-15 17:24:26 +01:00
Henri Verbeet 96d225d4dd wined3d: Get rid of the IWineD3DStateBlockImpl typedef. 2011-01-31 12:25:05 +01:00
Henri Verbeet 7bc7caf423 wined3d: Pass an IWineD3DBaseTextureImpl array to pixelshader_update_samplers(). 2010-12-16 11:50:09 +01:00
Henri Verbeet bd2e7aedcf wined3d: Store an IWineD3DBaseShaderImpl pointer in wined3d_shader_context. 2010-12-15 11:55:22 +01:00
Henri Verbeet 2f36d600ef wined3d: Pass an IWineD3DBaseShaderImpl pointer to shader_generate_main(). 2010-12-15 11:55:19 +01:00
Henri Verbeet fe2ffe1e6a wined3d: Pass an IWineD3DBaseShaderImpl pointer to shader_destroy(). 2010-12-13 16:24:23 +01:00
Henri Verbeet 8ea7d1ef71 wined3d: Pass an IWineD3DBaseShaderImpl pointer to shader_generate_arb_declarations(). 2010-12-13 16:24:15 +01:00
Henri Verbeet 0e3c60786e wined3d: Explicitly pass gl_info to unset_shader(). 2010-12-10 13:02:26 +01:00
Henri Verbeet ae7a20af2f wined3d: Explicitly pass blit_priv and gl_info to set_shader(). 2010-12-10 13:02:24 +01:00
Henri Verbeet 0caed0a771 wined3d: Explicitly pass blit_priv and gl_info to gen_p8_shader(). 2010-12-10 13:02:22 +01:00