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
Henri Verbeet
fa75517155
wined3d: Explicitly pass blit_priv and gl_info to gen_yuv_shader().
2010-12-10 13:02:19 +01:00
Henri Verbeet
7f09eb6a7a
wined3d: Pass an IWineD3DDeviceImpl pointer to free_private().
2010-12-09 12:14:31 +01:00
Henri Verbeet
4ba3b64c57
wined3d: Pass an IWineD3DDeviceImpl pointer to alloc_private().
2010-12-09 12:14:25 +01:00
Henri Verbeet
b5637a934e
wined3d: Store an IWineD3DDeviceImpl pointer in IWineD3DBaseShaderClass.
2010-12-08 11:27:49 +01:00
Henri Verbeet
cd30e9562c
wined3d: Explicitly pass gl_info to shader_arb_generate_pshader().
2010-12-07 11:33:27 +01:00
Henri Verbeet
202a60c489
wined3d: Explicitly pass gl_info to shader_arb_generate_vshader().
2010-12-07 11:33:25 +01:00
Henri Verbeet
db164a990c
wined3d: Rename shader_reg_maps to wined3d_shader_reg_maps.
...
For consistency with other shader translation structures.
2010-12-07 11:33:23 +01:00
Henri Verbeet
78652a5fe8
wined3d: Explicitly pass shader_data, reg_maps and gl_info to vshader_add_footer().
2010-12-06 12:21:35 +01:00
Henri Verbeet
e9ff40d918
wined3d: Use local reg_maps variables where possible.
2010-12-06 12:21:31 +01:00
Henri Verbeet
0405733ff7
wined3d: Explicitly pass shader_data and reg_maps to reserved_vs_const().
2010-12-06 12:21:27 +01:00
Henri Verbeet
a564101630
wined3d: Explicitly pass shader_data and reg_maps to need_helper_const().
2010-12-06 12:21:24 +01:00
Henri Verbeet
8c1e326e3c
wined3d: Explicitly pass shader_data and reg_maps to need_rel_addr_const().
2010-12-03 11:04:36 +01:00
Henri Verbeet
e43cd744b6
wined3d: need_rel_addr_const() is only ever called for vertex shaders.
2010-12-03 11:04:32 +01:00
Henri Verbeet
fe47ba8fa2
wined3d: Move the rel_offset vertex shader field to the ARB shader backend.
2010-12-03 11:04:28 +01:00
Henri Verbeet
a4477fea4a
wined3d: Pass an IWineD3DDeviceImpl pointer to free_private().
2010-12-02 11:54:15 +01:00
Henri Verbeet
6b9118e462
wined3d: Pass an IWineD3DDeviceImpl pointer to alloc_private().
2010-12-02 11:54:10 +01:00
Henri Verbeet
00550613e7
wined3d: Remove a redundant parameter to enable_extension().
2010-12-02 11:54:03 +01:00
Henri Verbeet
f92a0667d7
wined3d: Remove a unused parameter to shader_dirtifyable_constants().
2010-12-02 11:53:57 +01:00
Henri Verbeet
f45aeb4abe
wined3d: Pass an IWineD3DDeviceImpl pointer to shader_free_private().
2010-12-01 11:09:08 +01:00
Henri Verbeet
4a69874938
wined3d: Pass an IWineD3DDeviceImpl pointer to shader_alloc_private().
2010-12-01 11:09:02 +01:00
Henri Verbeet
77923346da
wined3d: Pass an IWineD3DDeviceImpl pointer to shader_update_float_pixel_constants().
2010-12-01 11:08:57 +01:00
Henri Verbeet
4a6d0da207
wined3d: Pass an IWineD3DDeviceImpl pointer to shader_update_float_vertex_constants().
2010-12-01 11:08:51 +01:00
Henri Verbeet
7363b0e98a
wined3d: Explicitly pass data and gl_info to shader_deselect_depth_blt().
2010-11-30 10:57:23 +01:00
Henri Verbeet
93a824d744
wined3d: Explicitly pass data and gl_info to shader_select_depth_blt().
2010-11-30 10:57:17 +01:00
Henri Verbeet
e35b6aa1a7
wined3d: Change surface_translate_frontbuffer_coords() to handle all drawable coordinates.
2010-11-01 13:34:43 +01:00
Stefan Dösinger
7173a56161
wined3d: Don't change GL_TEXTURE* when using the arb fragment pipeline.
2010-11-01 11:43:39 +01:00
Henri Verbeet
7414ebc975
wined3d: Don't flip the coordinate system in set_blit_dimension().
2010-10-29 14:33:57 +02:00
Henri Verbeet
8a4a76f9a7
wined3d: Move "parse_state" to wined3d_shader_context.
2010-10-29 14:33:56 +02:00
Henri Verbeet
f216dba1e3
wined3d: Access reg_maps though ins->ctx in get_loop_control_const().
2010-10-28 18:18:12 +02:00
Henri Verbeet
5b36e29298
wined3d: Access reg_maps though ins->ctx in get_bool_const().
2010-10-28 18:18:12 +02:00
Henri Verbeet
ac2805e5b3
wined3d: Access reg_maps though ins->ctx in shader_hw_mov().
2010-10-28 18:18:12 +02:00
Henri Verbeet
6c5caf7a8b
wined3d: Access reg_maps though ins->ctx in shader_arb_get_register_name().
2010-10-28 18:18:11 +02:00
Henri Verbeet
5e24ccfd0c
wined3d: Read transform flags from the compile args in pshader_hw_texm3x3spec().
2010-10-27 12:11:49 +02:00
Henri Verbeet
8f5bb62769
wined3d: Read transform flags from the compile args in pshader_hw_texm3x3vspec().
2010-10-27 12:11:45 +02:00
Henri Verbeet
f624d8f7b6
wined3d: Read transform flags from the compile args in pshader_hw_texm3x3tex().
2010-10-26 11:58:34 +02:00
Henri Verbeet
db156977dd
wined3d: Read transform flags from the compile args in pshader_hw_texm3x2tex().
...
Instead of directly from the stateblock. Note that the GLSL backend doesn't
take these flags into account at all. That's probably a bug in the GLSL
backend, but needs tests.
2010-10-26 11:58:31 +02:00
Henri Verbeet
8c36e4ce1d
wined3d: Explicitly pass parameters to shader_arb_ps_local_constants().
2010-10-26 11:58:23 +02:00
Henri Verbeet
5afb593cb2
wined3d: Explicitly pass parameters to shader_arb_vs_local_constants().
2010-10-26 11:58:19 +02:00
Henri Verbeet
1b2f9d29d7
wined3d: Get rid of the posFixup field from the device.
2010-10-26 11:58:12 +02:00
Henri Verbeet
5ef7a8c242
wined3d: Explicitly pass parameters to shader_load_np2fixup_constants().
2010-10-25 14:29:37 +02:00
Henri Verbeet
b0c8b4dd95
wined3d: Flip destination coordinates when blitting to an offscreen target in arbfp_blit_surface().
2010-10-21 16:15:20 +02:00
Henri Verbeet
d508a855c1
wined3d: Recognize the SM4 sqrt opcode.
2010-10-20 18:37:07 +02:00
Henri Verbeet
4eb8fd7960
wined3d: Recognize the SM4 sample_d opcode.
2010-10-14 17:54:52 +02:00
Henri Verbeet
50f6fbadb0
wined3d: Recognize the SM4 ld opcode.
2010-10-13 13:00:30 +02:00
Henri Verbeet
7c6658f970
wined3d: Recognize the SM4 ieq opcode.
2010-10-13 13:00:26 +02:00
Henri Verbeet
a9e3058426
wined3d: Recognize the SM4 ftoi opcode.
2010-10-13 13:00:22 +02:00
Henri Verbeet
b53d346d35
wined3d: Recognize the SM4 div opcode.
2010-10-13 13:00:17 +02:00
Henri Verbeet
ff9c2fcdb2
wined3d: Recognize the SM4 utof opcode.
2010-10-11 17:11:28 +02:00
Henri Verbeet
18d7a73af8
wined3d: Recognize the SM4 sample_l opcode.
2010-10-11 17:11:28 +02:00
Henri Verbeet
407ed1b875
wined3d: Recognize the SM4 sample opcode.
2010-10-11 17:11:28 +02:00
Henri Verbeet
b2f520b5f0
wined3d: Recognize the SM4 itof opcode.
2010-10-11 17:11:28 +02:00
Henri Verbeet
d369136a96
wined3d: Recognize the SM4 imul opcode.
2010-10-08 15:26:33 +02:00
Henri Verbeet
512e6cec2c
wined3d: Recognize the SM4 movc opcode.
2010-10-07 15:58:10 +02:00
Henri Verbeet
1330f844f8
wined3d: Recognize the SM4 and opcode.
2010-10-07 15:58:09 +02:00
Matteo Bruni
20010235ad
wined3d: Keep track of texture transformation states in compiled pixel shaders.
2010-10-04 15:00:08 +02:00
Henri Verbeet
5029331f55
wined3d: Pass a wined3d_state structure to find_arb_ps_compile_args().
2010-09-29 12:22:43 +02:00
Henri Verbeet
e5ef8057ea
wined3d: Pass a wined3d_state structure to find_arb_vs_compile_args().
2010-09-29 12:22:41 +02:00
Henri Verbeet
e12f5ff08a
wined3d: Pass a wined3d_state structure to find_ps_compile_args().
2010-09-29 12:22:39 +02:00
Henri Verbeet
8d5a25bbec
wined3d: Pass a wined3d_state structure to find_vs_compile_args().
2010-09-29 12:22:36 +02:00
Henri Verbeet
a7ded9a67d
wined3d: Pass a wined3d_state structure to use_ps().
2010-09-28 17:33:17 +02:00
Henri Verbeet
9224751a13
wined3d: Pass a wined3d_state structure to use_vs().
2010-09-28 17:33:17 +02:00
Henri Verbeet
7dd4174e05
wined3d: Pass a wined3d_state structure to ffp_clip_emul().
2010-09-24 11:34:15 +02:00
Henri Verbeet
b37ce45d6c
wined3d: Move pixel shader constants to wined3d_state.
2010-09-20 13:48:13 +02:00
Henri Verbeet
33dfb9539c
wined3d: Move the pixel shader to wined3d_state.
2010-09-20 13:48:13 +02:00
Henri Verbeet
8a148cc7c5
wined3d: Move vertex shader constants to wined3d_state.
2010-09-20 13:48:12 +02:00
Henri Verbeet
dd4aea36c9
wined3d: Move the vertex shader to wined3d_state.
2010-09-20 13:48:12 +02:00
Henri Verbeet
d728d5f0ec
wined3d: Move texture bindings to wined3d_state.
2010-09-18 13:05:49 +02:00
Henri Verbeet
5a3a4ac77a
wined3d: Remove IWineD3DBaseTexture::GetTextureDimensions() from the public wined3d interface.
2010-09-18 13:05:44 +02:00
Henri Verbeet
5b3c1a2082
wined3d: Move texture states to wined3d_state.
2010-09-16 10:12:17 -05:00
Henri Verbeet
1ef4f075c1
wined3d: Introduce a separate structure for stateblock states.
...
We'd like to not pass an entire stateblock to things like state handlers and
the shader backend, because those then use the stateblock to get to the
device and through there to all the rest of wined3d. This would also be
required for serialization of wined3d draw and state change commands into a
single GL context. Resource updates would be explicitly excluded from
serialization.
2010-09-15 10:33:14 -05:00
Henri Verbeet
0b15963b4e
wined3d: Get rid of redundant comparisons against FALSE.
2010-09-14 11:43:44 -05:00
Henri Verbeet
b68d257710
wined3d: Get rid of redundant comparisons against NULL / 0.
2010-09-14 09:43:33 -05:00
Henri Verbeet
8e0cb60b09
wined3d: Do not call device_switch_onscreen_ds() while under the GL lock.
2010-09-06 16:14:18 +02:00
Henri Verbeet
3a7f08a56f
wined3d: Rename wined3d_format_desc to wined3d_format.
2010-08-31 14:23:47 +02:00
Henri Verbeet
50b5955288
wined3d: Use floating point colors in the blitter's color_fill functions.
2010-08-24 12:24:39 +02:00
Stefan Dösinger
1d710bb4ca
wined3d: The clipplane mask and texcoords are unsigned.
2010-08-23 13:37:02 +02:00
Henri Verbeet
0b24db5db5
wined3d: Also store the subresource container type.
2010-08-17 11:55:32 +02:00
Henri Verbeet
37c8632811
wined3d: Make some lookup tables const.
2010-08-04 13:24:24 +02:00
Stefan Dösinger
51cd12f35a
wined3d: The flag parameter in shader_hw_sample is a WORD.
2010-07-30 11:41:28 +02:00
Stefan Dösinger
728dd55f62
wined3d: The ARB loop unroller's iteration is unsigned.
2010-07-30 11:41:03 +02:00
Stefan Dösinger
cc8a45321f
wined3d: Add casts for int to float conversions.
2010-07-29 17:33:34 +02:00
Henri Verbeet
147f24dd78
wined3d: Remove ModifyLocation() from the public wined3d surface interface.
2010-07-22 10:13:13 +02:00
Henri Verbeet
e8ac9bbd7f
wined3d: Get rid of GLINFO_LOCATION.
2010-05-25 13:29:00 +02:00
Henri Verbeet
4d4654a014
wined3d: Set the arb_program_shader.c GLINFO_LOCATION to *gl_info.
2010-05-25 13:28:05 +02:00
Stefan Dösinger
b5da118531
wined3d: Catch RCP 0.0 in ARB.
2010-05-21 18:58:04 +02:00
Stefan Dösinger
c80b5d6afc
wined3d: Handle length zero vectors in ARB's NRM.
2010-05-21 18:58:04 +02:00
Stefan Dösinger
ed74fcefc8
wined3d: Make the mova constant more generic for relative addressing.
2010-05-21 18:58:04 +02:00
Stefan Dösinger
a0143e142b
wined3d: Order the helper constants a bit better.
2010-05-21 18:58:04 +02:00
Stefan Dösinger
a1710a32f3
wined3d: Add a function for reading (ps_)helper_const.
2010-05-21 18:58:04 +02:00
Stefan Dösinger
6946de8125
wined3d: Store a positive 1.0 in the ARB's vertex shader helper constant.
2010-05-21 18:58:04 +02:00
Stefan Dösinger
09d74b748e
wined3d: Split up the "one" pixel shader helper constant.
2010-05-21 18:58:04 +02:00
Michael Stefaniuc
6d89364ad1
wined3d: Avoid using the long type.
2010-05-21 18:58:04 +02:00
Henri Verbeet
db0784e1da
wined3d: Introduce a separate function for translating front buffer coordinates to GL coordinates.
2010-05-21 14:37:52 +02:00
Marcus Meissner
9494cdc56f
wined3d: fixed a NULL deref in create_arb_blt_fragment_program (Coverity).
2010-05-10 10:04:31 +02:00
Henri Verbeet
49e076eabd
wined3d: Separate context acquisition and state application.
2010-05-04 13:14:59 +02:00
Henri Verbeet
87f34ce5f9
wined3d: Allow the ARB shader backend to work with GL implementations with low amounts of native parameters.
2010-05-03 13:51:02 +02:00
Henri Verbeet
0122cee51f
wined3d: Make sure all fields of the shader backend caps are always initialized.
2010-05-03 13:50:57 +02:00
Henri Verbeet
d5b68e7640
wined3d: Make sure all fields of the fragment pipe caps are always initialized.
2010-05-03 13:50:45 +02:00
Henri Verbeet
f09b8e454d
wined3d: Avoid some needless depth buffer copies.
...
If an application switches between render targets of a different size, but
with the same depth/stencil surface it'll typically clear the depth/stencil
surface before drawing. However, in case of the smaller render target that
wouldn't be a full clear, so we'd have to do a depth copy if we also switched
between onscreen and offscreen rendering. Keeping track of which part of the
depth/stencil surface is current for onscreen/offscreen allows us to avoid
most of these kinds of copies. The current scheme requires the current/dirty
rectangle to have an origin at (0,0). This could be extended to an arbitrary
rectangle, but the bookkeeping becomes somewhat more complex in that case, and
it's not clear that there would be much of a benefit at this point.
2010-04-29 10:19:39 -05:00
Henri Verbeet
62acb2fdbc
wined3d: Store the front buffer surface as an IWineD3DSurfaceImpl pointer in the swapchain.
2010-04-27 12:01:59 -05:00
Henri Verbeet
d1ea48b971
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_internal_preload().
2010-04-26 09:04:35 -05:00
Henri Verbeet
6b34b8e6d1
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to context_acquire().
2010-04-22 11:28:17 +02:00
Gerald Pfeifer
07c8120b57
wined3d: Remove variable dlc_tmp which is not really used from shader_arb_generate_pshader.
2010-04-21 15:35:07 +02:00
Henri Verbeet
c7a1848656
wined3d: Store render targets as IWineD3DSurfaceImpl pointers in the device.
2010-04-20 11:14:30 +02:00
Roderick Colenbrander
bccfd7cc06
wined3d: Add BLT_OP_COLOR_FILL to blit_supported and use it in BltOverride.
2010-04-15 14:20:48 +02:00
Henri Verbeet
8eb2a2cf0c
wined3d: Disable strict draw ordering by default.
...
While some performance hit from the extra flushes was expected and would be
acceptable, the performance hit can be over 50% on some configurations, which
clearly isn't acceptable. This patch introduces a "StrictDrawOrdering"
registry key for applications affected by this, until we have a more
structural solution.
2010-04-13 21:13:36 +02:00
Roderick Colenbrander
76a9712779
wined3d: Add an initial implementation of arbfp_blit_surface.
2010-04-09 16:50:21 +02:00
Roderick Colenbrander
e7a71e15b5
wined3d: Turn blit_shader color_fixup_supported into blit_supported.
2010-04-07 18:13:35 +02:00
Roderick Colenbrander
3b6aea5934
wined3d: Move palette uploading code over to arbfp blit_shader.
2010-04-06 13:53:15 +02:00
Henri Verbeet
57cfd613a5
wined3d: Explicitly set the state handler to NULL for states with a representative.
...
We should never call the handler for states that have a rep.
2010-04-01 18:12:42 +02:00
Henri Verbeet
03c472bff0
wined3d: Don't call directly into the state table.
2010-04-01 18:12:42 +02:00
Roderick Colenbrander
a7d3b616c4
wined3d: Add color_fill to blit_shader.
2010-03-30 13:54:24 +02:00
Henri Verbeet
3aaa6ee6e7
wined3d: Rename GlPixelFormatDesc to wined3d_format_desc.
2010-03-19 14:31:47 +01:00
Roderick Colenbrander
27a96e477a
wined3d: Start moving paletted texture support to the blit_shader.
2010-03-19 13:15:21 +01:00
Henri Verbeet
18ec2525a4
wined3d: Store the swapchain instead of the surface in the context.
2010-03-16 11:44:44 +01:00
Roderick Colenbrander
c0ef7a1a93
wined3d: Move the 8-bit palette shader code over to the blit_shader backend.
2010-03-03 12:53:51 +01:00
Roderick Colenbrander
922ad80f42
wined3d: Rename yuv to complex in order to prepare for 8-bit palette fixups using the same code.
2010-03-03 12:53:41 +01:00
Henri Verbeet
576ea95803
wined3d: Remove the unused device type parameter from the shader backend's get_caps() function.
2010-02-04 13:39:27 +01:00
Henri Verbeet
497386dc5c
wined3d: Remove the unused device type parameter from the fragment pipe's get_caps() function.
...
On the subject of actually supporting software devices, we should probably
implement those by creating a software or reference adapter with appropriate
gl_info and pipe implementations and creating a device based on that.
2010-02-04 13:39:26 +01:00
Henri Verbeet
42c83f0260
wined3d: Dump ARB program shaders on compile failure.
...
Similar to the patch for GLSL.
2010-02-02 14:10:40 +01:00
Henri Verbeet
705f96fa39
wined3d: Get rid of some unnecessary casts to specific shader types.
2010-01-26 12:08:13 +01:00
Henri Verbeet
46cefd312c
wined3d: Recognize the SM4 cut opcode.
2010-01-07 09:26:54 +01:00
Henri Verbeet
3687677427
wined3d: Recognize the SM4 lt opcode.
2010-01-07 09:26:30 +01:00
Henri Verbeet
6d5aca61f3
wined3d: Recognize the SM4 iadd opcode.
2010-01-07 09:26:25 +01:00
Henri Verbeet
22939f9d29
wined3d: Recognize the SM4 emit opcode.
2010-01-07 09:26:20 +01:00
Henri Verbeet
c57c76b78e
wined3d: Recognize the SM4 ige opcode.
2010-01-07 09:26:08 +01:00
Henri Verbeet
b548e387ae
wined3d: Move shader input/output signatures to IWineD3DBaseShaderClass.
2009-12-31 12:12:16 +01:00
Henri Verbeet
b3defd4c80
wined3d: Rename "wineD3DDevice" to "device".
2009-12-10 11:54:47 +01:00
Henri Verbeet
d2ad2df637
wined3d: Remove a few redundant assignments.
2009-12-09 13:50:48 +01:00
Francois Gouget
060934c557
wined3d: Don't define nameless structs or unions.
...
Fixes compilation on systems that don't support nameless unions or structs.
2009-12-07 14:18:25 +01:00
Stefan Dösinger
0e77a381ea
wined3d: Create clip coords only if they are used.
...
If GL vertex shader clipping is supported (GLSL or NVvp), we currently
always calculate clipping results in the shader. They're gracefully
discarded by opengl, but we need 6 constants / uniforms to calculate
unused values.
2009-11-12 15:18:00 +01:00
Henri Verbeet
111307dfba
wined3d: Get rid of the GL_SUPPORT macro.
2009-10-29 13:09:33 +01:00
Henri Verbeet
48e03bc189
wined3d: Introduce a separate structure for various OpenGL implementation limits.
2009-10-29 13:09:27 +01:00
Henri Verbeet
eeb54b9922
wined3d: Keep better track of where we're using wined3d contexts.
...
The idea here is that we can restore the thread's current GL context on
context_release() if it doesn't correspond to the current wined3d context on
context_acquire().
2009-10-28 11:15:19 +01:00
Stefan Dösinger
0c72464abf
wined3d: Use the native constant limit for fitting private constants.
2009-10-26 11:42:36 +01:00
Stefan Dösinger
9ee6508132
wined3d: Remove dead code.
2009-10-26 11:42:29 +01:00
Stefan Dösinger
f15fc8f41c
wined3d: Take native constants into account when reporting ARB limits.
2009-10-26 11:42:20 +01:00
Henri Verbeet
8d2512317f
wined3d: Free the blitter private data in arbfp_blit_free() (Valgrind).
2009-10-22 10:46:15 +02:00
Henri Verbeet
6be41fd59a
wined3d: Get rid of GL_LIMITS.
2009-10-22 10:46:05 +02:00
Henri Verbeet
55047f811a
wined3d: Fix some GLINFO_LOCATION abuse.
2009-10-22 10:45:57 +02:00
Stefan Dösinger
122ed40c2b
wined3d: Use ARB constant limits in ARB.
2009-10-20 14:46:16 +02:00
Stefan Dösinger
2d802af4d9
wined3d: Make shader specific constants accessible via GL_LIMITS.
2009-10-20 14:46:08 +02:00
Stefan Dösinger
8a68f418db
wined3d: Don't reserve clipping constants needlessly.
2009-10-08 12:03:50 +02:00
Stefan Dösinger
ed2860f789
wined3d: Split the clip_parameters[2] array.
2009-10-08 12:03:42 +02:00
Stefan Dösinger
7f6ae94c0a
wined3d: Don't write to result.color in arb_add_sRGB_correction.
...
add_sRGB_correction and the generate_pshader function generate the same MOV.
There's no need to do it in two places.
2009-10-08 12:03:30 +02:00
Stefan Dösinger
dc45657f2c
wined3d: Fix vs_2_0 sgn.
...
vs_2_0's sgn has two extra parameters - temporary registers for the
instruction. This patch fixes the crash of the d3d9:visual test on windows and
properly handles the vs_2_0 version of sgn.
2009-10-02 12:36:59 +02:00
Stefan Dösinger
404aecb8da
wined3d: Test if result.clip[] works correctly.
...
The Mac Nvidia driver doesn't implement the result.clip part of
GL_NV_vertex_program2_option correctly. It complains about a syntax
error if "result.clip[0]" is used. "result.clip" compiles correctly, but
supports only one clipplane, and running the shader results in severe
rendering bugs.
2009-09-28 17:33:07 +02:00
Henri Verbeet
f88c6e5ce5
wined3d: Move common shader fields to IWineD3DBaseShaderClass.
2009-09-25 15:14:35 +02:00
Henri Verbeet
9880cd7504
wined3d: Make some variables static.
2009-09-15 14:32:36 -05:00
Henri Verbeet
f8a3a5fd49
wined3d: Check the correct debug channel in shader_arb_load_constantsF().
2009-09-08 13:06:07 +02:00
Henri Verbeet
f928d6ec87
wined3d: Fix shader_arb_load_constantsF().
2009-09-08 13:06:01 +02:00