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
027ef4ccdb
d3d10core: Implement d3d10_device_VSGetConstantBuffers().
2012-11-30 11:42:54 +01:00
Henri Verbeet
ae5e15319e
d3d10core: Implement d3d10_device_VSSetConstantBuffers().
2012-11-30 11:42:48 +01:00
Frédéric Delanoy
a6db668895
wined3d: Add some 'fall through' comments (coverity).
2012-11-30 11:42:24 +01:00
Henri Verbeet
56b3953207
wined3d: Fix a typo in wined3d_device_set_stream_output().
2012-11-29 00:16:50 +01:00
Henri Verbeet
5d9d20ee0e
wined3d: Also unbind stream outputs and the geometry shader in stateblock_unbind_resources().
2012-11-29 00:16:44 +01:00
Henri Verbeet
7f62678c16
d3d10core: Implement d3d10_device_DrawIndexedInstanced().
2012-11-27 16:54:57 +01:00
Henri Verbeet
eefe6346a9
wined3d: Properly handle scalar destinations in shader_glsl_conditional_move().
...
In particular, we modify dst.write_mask in the code further down in order to
mask out unused channels, but the writemask is ignored for scalar registers.
Since all that code is redundant anyway for scalar destinations, we can just
reuse the special case for scalar src0.
2012-11-27 16:54:50 +01:00
Henri Verbeet
dc67be012f
d3d10core: Implement d3d10_device_SOGetTargets().
2012-11-23 14:40:36 +01:00
Henri Verbeet
5b781d709d
d3d10core: Implement d3d10_device_SOSetTargets().
2012-11-23 14:40:30 +01:00
Henri Verbeet
d0d213f7d1
d3d10core: Implement d3d10_device_IAGetIndexBuffer().
2012-11-21 13:25:57 +01:00
Henri Verbeet
79f0b4d977
d3d9: Avoid resetting device state for d3d9ex resets.
2012-11-20 11:44:27 +01:00
Henri Verbeet
94ab9d5ef3
wined3d: Update the scissor rect and viewport even on redundant wined3d_device_set_render_target() calls.
2012-11-19 11:46:55 +01:00
Henri Verbeet
ffd892f6dd
wined3d: Make state_geometry_shader() static.
2012-11-16 11:39:50 +01:00
Christian Inci
83ed5efb31
wined3d: Add support for nVidia GT 640M.
2012-11-15 21:22:06 +01:00
Henri Verbeet
9a27b0ad71
wined3d: Add support for geometry shaders to the GLSL shader backend.
2012-11-15 12:19:36 +01:00
Henri Verbeet
25c449247f
d3d10core: Implement d3d10_device_GSGetShader().
2012-11-14 11:27:44 +01:00
Henri Verbeet
9081f8afb1
d3d10core: Implement d3d10_device_GSSetShader().
2012-11-14 11:27:40 +01:00
Henri Verbeet
0a7b32e3f0
wined3d: Handle relative addresses in the common code in shader_glsl_get_register_name().
2012-11-12 12:15:30 +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
986f4cb9b1
wined3d: Introduce a separate function for generating the sRGB write GLSL code.
2012-11-09 11:30:25 +01:00
Henri Verbeet
f6d05fbae6
wined3d: Introduce a separate function for generating the fixed function fog GLSL code.
2012-11-09 11:30:22 +01:00
Henri Verbeet
02250bb1bd
wined3d: Introduce a separate function for initializing ps uniform locations.
2012-11-08 15:37:48 +01:00
Henri Verbeet
c9f4cfc96a
wined3d: Introduce a separate function for initializing vs uniform locations.
2012-11-08 15:37:48 +01:00
Henri Verbeet
b42e02ce9b
wined3d: Use the correct RGTC constant in format_texture_info.
2012-11-08 15:37:47 +01:00
Alexandre Julliard
449deda62f
wined3d: Link directly to opengl32.
2012-11-08 15:37:44 +01:00
Alexandre Julliard
cf2b981ce0
wined3d: Make use of the generated wgl.h header.
2012-11-07 18:12:04 +01:00
Henri Verbeet
e8b0de1e14
wined3d: Use more consistent names for the various bumpenv uniforms.
2012-11-07 11:57:29 +01:00
Henri Verbeet
9b118257c4
wined3d: Introduce a separate structure for the ps specific fields in struct glsl_shader_prog_link.
2012-11-07 11:57:27 +01:00
Henri Verbeet
ffd5e3eb81
wined3d: Introduce a separate structure for the vs specific fields in struct glsl_shader_prog_link.
2012-11-06 16:02:34 +01:00
Henri Verbeet
b8bb2a4f85
wined3d: Use the shader object ids as program key.
2012-11-06 16:02:34 +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
2bf46c60fb
wined3d: Replace the face and level parameters to device_parent_create_texture_surface() with the sub-resource index.
2012-10-25 11:48:25 +02:00
Rico Schüller
deae923cd8
wined3d: Fix return value for WINED3DFMT_ATI2N in CheckTextureCapability().
2012-10-24 19:37:15 +02:00
Henri Verbeet
41c8f1ef8a
wined3d: Remove some dead code from gen_ffp_instr().
2012-10-24 11:24:25 +02:00
Henri Verbeet
ddbe791d37
wined3d: Set texture_level in surface_set_texture_target() as well.
2012-10-24 11:24:22 +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
81ae7f606b
wined3d: Explicitly check the shader type in shader_generate_glsl_declarations().
2012-10-23 12:11:13 +02:00
Henri Verbeet
c490fb37cf
wined3d: Implement WINED3DSIH_MOVC in the GLSL shader backend.
2012-10-22 11:44:22 +02:00
Henri Verbeet
7a437c29f3
wined3d: Merge a couple of shader type specific blocks in shader_generate_glsl_declarations().
2012-10-22 11:44:20 +02:00
Henri Verbeet
b96b4c63ee
wined3d: Use shader_glsl_get_prefix() in shader_glsl_gen_sample_code().
2012-10-22 11:44:02 +02:00
Henri Verbeet
db3bdb0a76
wined3d: Also read comments in shader_sm1_is_end().
2012-10-22 11:43:59 +02:00
Henri Verbeet
6beb7dc1a8
wined3d: Merge most of the code for shader_glsl_cmp() and shader_glsl_cnd().
2012-10-18 22:32:19 +02:00
Henri Verbeet
b72ab48ed8
wined3d: Implement WINED3DSIH_ROUND_NI in the GLSL shader backend.
2012-10-18 22:32:14 +02:00
Henri Verbeet
0c1dd7f7d1
wined3d: Explicitly check the shader type in shader_glsl_load_constantsF().
2012-10-18 22:32:09 +02:00
Henri Verbeet
7365f9e6af
wined3d: Explicitly check the shader type in shader_glsl_get_register_name().
2012-10-18 22:32:03 +02:00
Francois Gouget
23470870a1
wined3d: Add a trailing '\n' to a Wine trace.
2012-10-18 19:20:48 +02:00
Henri Verbeet
e31945b8aa
wined3d: Implement WINED3DSIH_USHR in the GLSL shader backend.
2012-10-18 19:20:12 +02:00
Henri Verbeet
5ca5409b81
wined3d: Implement WINED3DSIH_UDIV in the GLSL shader backend.
2012-10-18 19:20:06 +02:00
Henri Verbeet
cc0b1bb03f
wined3d: Explcitly check the shader type in shader_glsl_get_sample_function().
2012-10-18 19:20:01 +02:00
Henri Verbeet
e832978adb
wined3d: Explicitly check the shader type in shader_glsl_gen_sample_code().
2012-10-18 19:19:54 +02:00
Henri Verbeet
6c3595fba8
wined3d: Handle WINED3DSPR_PRIMID in the GLSL shader backend.
2012-10-17 11:45:01 +02:00
Matteo Bruni
3c11d8f331
wined3d: Add new Radeon HD 6670 GL renderer string.
2012-10-16 20:44:02 +02:00
Matteo Bruni
29c336916c
wined3d: Recognize AMD Radeon HD 5000 series GPUs on recent binary drivers.
2012-10-16 20:43:56 +02:00
Matteo Bruni
6a9df3e757
wined3d: Provide a better fallback for D3D10 AMD GPUs.
2012-10-16 20:43:51 +02:00
Matteo Bruni
4e57dd0cde
wined3d: Add a D3D10-level fallback for Intel GPU recognition.
2012-10-16 20:43:41 +02:00
Matteo Bruni
37ff45cca2
wined3d: Improve a Nvidia GPU recognition fallback.
2012-10-16 20:43:35 +02:00
Matteo Bruni
fe81c61804
wined3d: Split GPU vendor and GL vendor handling in GPU recognition.
2012-10-16 20:43:28 +02:00
Henri Verbeet
59bdd6ae97
wined3d: Recognise the SM4 "primID" register type.
2012-10-16 11:36:45 +02:00
Henri Verbeet
347dda068f
wined3d: Explicitly check the shader type in shader_glsl_mov().
2012-10-16 11:36:40 +02:00
Henri Verbeet
82a44af259
wined3d: Explicitly check the shader type in shader_glsl_texldl().
2012-10-16 11:36:34 +02:00
Henri Verbeet
311a1e0148
wined3d: Handle SM1 comments in the frontend.
2012-10-15 13:31:08 +02:00
Henri Verbeet
5626e165ff
wined3d: Introduce a structure for shader register indices.
2012-10-15 13:31:07 +02:00
Henri Verbeet
a92d7a12de
wined3d: Use a common function for parsing SM4 source and destination parameters.
2012-10-15 13:31:07 +02:00
Henri Verbeet
3baeaa2b88
wined3d: Recognise SM4 scalar swizzles.
2012-10-15 13:31:06 +02:00
Henri Verbeet
21361d5237
wined3d: Use the correct relative address for constant buffers in the GLSL shader backend.
2012-10-15 13:31:06 +02:00
Henri Verbeet
fc185f9bae
wined3d: Add support for SM4 relative addressing.
2012-10-12 13:21:39 +02:00
Henri Verbeet
2324ce6efb
wined3d: Implement WINED3DSIH_IMUL in the GLSL shader backend.
2012-10-12 13:21:33 +02:00
Henri Verbeet
ad1a1ee4fe
wined3d: Implement WINED3DSIH_UTOF in the GLSL shader backend.
2012-10-12 13:21:28 +02:00
Henri Verbeet
b7cd93240d
wined3d: Implement WINED3DSIH_ITOF in the GLSL shader backend.
2012-10-12 13:21:22 +02:00
Henri Verbeet
d48a0bc427
wined3d: Implement WINED3DSIH_FTOI in the GLSL shader backend.
2012-10-12 13:21:17 +02:00
Henri Verbeet
f8e1550ebb
wined3d: Implement WINED3DSIH_LT in the GLSL shader backend.
2012-10-11 18:51:04 +02:00
Henri Verbeet
842f75ee75
wined3d: Implement WINED3DSIH_IGE in the GLSL shader backend.
2012-10-11 18:51:00 +02:00
Henri Verbeet
819e5fa623
wined3d: Implement WINED3DSIH_GE in the GLSL shader backend.
2012-10-11 18:50:56 +02:00
Henri Verbeet
09f5f59229
wined3d: Implement WINED3DSIH_EQ in the GLSL shader backend.
2012-10-11 18:50:53 +02:00
Henri Verbeet
4c4b224330
wined3d: Implement WINED3DSIH_XOR in the GLSL shader backend.
2012-10-11 18:50:46 +02:00
Matteo Bruni
3d71c2d1ca
wined3d: Recognize Radeon HD 6970 as reported on some Macs.
2012-10-10 20:34:12 +02:00
Henri Verbeet
8f915156b9
wined3d: Implement SM4 WINED3DSIH_SINCOS in the GLSL shader backend.
2012-10-10 10:33:18 +02:00
Henri Verbeet
e34acc2251
wined3d: Implement SM4 loops in the GLSL shader backend.
2012-10-10 10:33:14 +02:00
Henri Verbeet
6e4ecdf854
wined3d: Implement WINED3DSIH_IADD in the GLSL shader backend.
2012-10-10 10:33:09 +02:00
Henri Verbeet
f9c181bf74
wined3d: Implement WINED3DSIH_DIV in the GLSL shader backend.
2012-10-10 10:33:05 +02:00
Henri Verbeet
2b46c4046a
wined3d: Implement WINED3DSIH_BREAKP in the GLSL shader backend.
2012-10-10 10:32:58 +02:00
Henri Verbeet
07203fa465
wined3d: Remove unused wined3d_shader_limits fields.
2012-10-09 09:59:58 +02:00
Henri Verbeet
eedbdded23
wined3d: Fix the SM3 int and bool vs constant limits.
...
Reported by Eduard Munteanu.
2012-10-09 09:59:54 +02:00
Henri Verbeet
9d127a4d36
wined3d: wined3d_surface_set_palette() never fails.
2012-10-09 09:59:38 +02:00
Henri Verbeet
0931522795
wined3d: Implement WINED3DSIH_AND in the GLSL shader backend.
2012-10-08 11:28:41 +02:00
Henri Verbeet
8e24dbb60a
wined3d: wined3d_stateblock_apply() never fails.
2012-10-08 11:28:37 +02:00
Henri Verbeet
b69545c7da
wined3d: wined3d_stateblock_capture() never fails.
2012-10-08 11:28:32 +02:00
Henri Verbeet
adddf10cd8
wined3d: wined3d_swapchain_get_desc() never fails.
2012-10-04 14:09:55 +02:00
Henri Verbeet
5fcc1f8f70
wined3d: Just return the surface from wined3d_swapchain_get_back_buffer().
2012-10-04 14:09:50 +02:00
Henri Verbeet
4d39cb56fc
wined3d: Handle WINED3DSPR_CONSTBUFFER registers in the GLSL shader backend.
2012-10-03 11:19:42 +02:00
Henri Verbeet
e55416a113
wined3d: wined3d_swapchain_set_window() never fails.
2012-10-03 11:19:41 +02:00
Henri Verbeet
50c61959eb
wined3d: Just return the surface from wined3d_device_get_surface_from_dc().
2012-10-03 11:19:41 +02:00
Henri Verbeet
6d948e1a8c
wined3d: Recognize the SM4 dcl_constantBuffer opcode.
2012-10-01 23:08:00 +02:00
Henri Verbeet
2ad5808996
wined3d: wined3d_device_get_creation_parameters() never fails.
2012-10-01 23:07:55 +02:00
Henri Verbeet
6e5cf8c698
wined3d: wined3d_device_set_depth_stencil() never fails.
2012-10-01 23:07:51 +02:00
Oleg Bosis
81525453f1
wined3d: Add correct detection of GeForce GT 650M video card.
2012-10-01 12:21:06 +02:00
Marcus Meissner
8ec6ebe4fb
wined3d: Move texture reference decrement to end of usage (Coverity).
2012-10-01 12:20:40 +02:00
Henri Verbeet
95b4207c7f
wined3d: Just return the surface from wined3d_device_get_depth_stencil().
2012-10-01 12:11:02 +02:00
Henri Verbeet
972217fd6a
wined3d: Just return the surface from wined3d_device_get_render_target().
2012-10-01 12:10:55 +02:00
Henri Verbeet
e13a589bfc
wined3d: Set more accurate limits for SM4 shaders.
2012-09-28 11:26:44 +02:00
Henri Verbeet
aa9daa285e
wined3d: Unify GLSL input / output variable naming.
2012-09-28 11:26:40 +02:00
Henri Verbeet
49f9d39493
wined3d: Introduce a separate function to retrieve the GLSL variable prefix.
2012-09-27 13:10:54 +02:00
Henri Verbeet
c0f52fbf1c
wined3d: wined3d_device_set_software_vertex_processing() never fails.
2012-09-27 13:10:48 +02:00
Henri Verbeet
f9d494294a
wined3d: Just return the texture from wined3d_device_get_texture().
2012-09-27 13:10:43 +02:00
Henri Verbeet
8168e18443
wined3d: Add some basic SM4 bytecode dumping code.
2012-09-26 14:40:37 +02:00
Henri Verbeet
c0a83b1d96
wined3d: wined3d_device_get_texture_stage_state() never fails.
2012-09-26 14:40:35 +02:00
Henri Verbeet
26c0714009
wined3d: wined3d_device_set_texture_stage_state() never fails.
2012-09-26 14:40:33 +02:00
Ričardas Barkauskas
06a8cbcc35
wined3d: Don't leave leftover textures when destroying and creating dxgi swapchains.
2012-09-25 11:20:05 +02:00
Henri Verbeet
1ff07a7d68
wined3d: Take the data type of registers into account in the GLSL shader backend.
2012-09-25 11:19:15 +02:00
Henri Verbeet
6e4c40689c
wined3d: Just return the shader from wined3d_device_get_pixel_shader().
2012-09-25 11:19:11 +02:00
Henri Verbeet
fc711d4955
wined3d: wined3d_device_set_pixel_shader() never fails.
2012-09-25 11:19:07 +02:00
Henri Verbeet
eb4d20ef31
wined3d: Take the data type of immediates into account in shader_glsl_get_register_name().
2012-09-24 09:58:09 +02:00
Henri Verbeet
6909b5143b
wined3d: Just return the shader from wined3d_device_get_vertex_shader().
2012-09-24 09:58:06 +02:00
Henri Verbeet
b97ec7ae0c
wined3d: wined3d_device_set_vertex_shader() never fails.
2012-09-24 09:58:03 +02:00
Henri Verbeet
f298b96972
wined3d: Simplify shader_glsl_destroy() control flow a bit.
2012-09-21 10:53:13 +02:00
Henri Verbeet
2f03ad1a40
wined3d: Just return the declaration from wined3d_device_get_vertex_declaration().
2012-09-21 10:53:10 +02:00
Henri Verbeet
01918d05ed
wined3d: wined3d_device_set_vertex_declaration() never fails.
2012-09-21 10:53:06 +02:00
Francois Gouget
ea61d59651
wined3d: Remove an unwanted trailing '\n' in shader_dump_register().
2012-09-19 23:56:05 +02:00
Henri Verbeet
00cdf1aaf1
wined3d: Merge the glsl_vshader_private and glsl_pshader_private structures.
2012-09-19 23:55:01 +02:00
Henri Verbeet
de1ae1eb8a
wined3d: wined3d_device_get_scissor_rect() never fails.
2012-09-19 23:54:59 +02:00
Henri Verbeet
2de9fc640b
wined3d: wined3d_device_set_scissor_rect() never fails.
2012-09-19 23:54:56 +02:00
Henri Verbeet
fb989f1d1e
wined3d: Implement version checks for geometry shaders.
2012-09-19 13:04:56 +02:00
Henri Verbeet
62670c7ba5
wined3d: wined3d_device_get_sampler_state() never fails.
2012-09-19 13:04:52 +02:00
Henri Verbeet
0d96be2c20
wined3d: wined3d_device_set_sampler_state() never fails.
2012-09-19 13:04:48 +02:00
Bruno Jesus
10cdc26542
wined3d: Recognize GeForce 9300 properly.
2012-09-18 10:19:57 +02:00
Henri Verbeet
0932129993
wined3d: Implement WINED3DSIH_EMIT in the GLSL shader backend.
2012-09-18 10:18:57 +02:00
Henri Verbeet
343974e2fd
wined3d: wined3d_device_get_material() never fails.
2012-09-18 10:18:51 +02:00
Henri Verbeet
2669feeb8c
wined3d: wined3d_device_set_material() never fails.
2012-09-18 10:18:42 +02:00
Henri Verbeet
c982e5f64b
wined3d: Implement WINED3DSIH_CUT in the GLSL shader backend.
2012-09-17 12:28:50 +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
0a17173bc2
wined3d: Introduce a union for declaration shader instruction arguments.
2012-09-17 12:28:20 +02:00
Henri Verbeet
a7bad0bde5
wined3d: Just handle all instructions in the shader backend.
2012-09-14 15:43:28 +02:00
Henri Verbeet
90bd04c6b6
wined3d: wined3d_device_multiply_transform() never fails.
2012-09-14 15:43:20 +02:00
Henri Verbeet
b8feef8833
wined3d: wined3d_device_set_base_vertex_index() never fails.
2012-09-13 10:23:14 +02:00
Henri Verbeet
706ece827b
wined3d: wined3d_device_get_transform() never fails.
2012-09-12 12:46:12 +02:00
Henri Verbeet
f79bbc767d
wined3d: wined3d_device_set_transform() never fails.
2012-09-12 12:46:07 +02:00
Henri Verbeet
d601a0dede
wined3d: wined3d_device_get_render_state() never fails.
2012-09-11 18:03:57 +02:00
Henri Verbeet
75cec973d5
wined3d: wined3d_device_set_render_state() never fails.
2012-09-11 18:03:53 +02:00
Henri Verbeet
3569b6ccd2
wined3d: wined3d_device_get_viewport() never fails.
2012-09-10 11:40:19 +02:00
Henri Verbeet
64aae8cf02
wined3d: wined3d_device_set_viewport() never fails.
2012-09-10 11:40:14 +02:00
Jiang Yike
a308bde74a
wined3d: Add AMD Radeon HD 7700 series and HD 7800 series graphics cards.
2012-09-07 12:23:31 +02:00
Henri Verbeet
c8f4ca315e
wined3d: Just return the buffer from wined3d_device_get_index_buffer().
2012-09-06 15:45:32 +02:00
Henri Verbeet
a3e28f6ce5
wined3d: wined3d_device_set_index_buffer() never fails.
2012-09-06 15:45:32 +02:00
Henri Verbeet
8fd7d3a2b3
wined3d: Just return the swapchain from wined3d_device_get_swapchain().
2012-09-05 11:48:04 +02:00
Henri Verbeet
ac5c420c91
wined3d: Add type information to shader registers.
2012-09-05 11:47:59 +02:00
Henri Verbeet
42582ada00
wined3d: Read complete shader instructions at a time.
2012-09-05 11:47:55 +02:00
Henri Verbeet
66ec8a5cfb
wined3d: Get rid of wined3d_device_get_wined3d().
2012-09-04 15:05:22 +02:00
Jonas Wielicki
a64b7918c8
wined3d: Fix crash in wined3d_device_reset with gdi backend for directdraw.
2012-08-29 20:13:42 +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
f89f30e0c0
wined3d: Fix blending test expected results.
2012-08-21 11:45:43 +02:00
Henri Verbeet
e35f773b0b
wined3d: Also issue any queries for index buffers in drawPrimitive().
2012-08-20 11:01:21 +02:00
Henri Verbeet
54976a033b
wined3d: Use a slightly shorter timeout in wined3d_event_query_finish().
2012-08-20 11:01:15 +02:00
Alexandre Julliard
3bd185c3df
wined3d: Remove references to the (no longer used) X11 lock.
2012-08-16 16:52:16 +02:00
Francois Gouget
b2a7111a3d
wined3d: Change some internal function and structure names to the more standard 'converter' spelling.
2012-08-16 13:47:29 +02:00
Matteo Bruni
a488e57449
wined3d: Improve post-pixelshader blending test.
2012-08-15 12:17:48 +02:00
Matteo Bruni
902049c054
wined3d: Fix pixel format masks.
2012-08-15 12:17:46 +02:00
Matteo Bruni
0a37a86f35
wined3d: Dump postblend color.
2012-08-15 12:15:47 +02:00
Matteo Bruni
152a09ce75
wined3d: Use GL_FRAMEBUFFER_SRGB when possible.
2012-08-15 12:15:42 +02:00
Nikolay Bogoychev
9716c1b50c
wined3d: Recognize GeForce GT 630M.
2012-08-14 17:42:06 +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
Henri Verbeet
4b90d79473
wined3d: Get rid of the GL extension function pointer typedefs.
2012-07-25 20:01:16 +02:00
Alexandre Julliard
63396e00b9
wined3d: Retrieve OpenGL extension functions directly through the TEB table.
2012-07-25 19:59:13 +02:00
Henri Verbeet
c7e3bb5a93
wined3d: Use struct opengl_funcs for storing GL extension pointers.
2012-07-24 13:36:29 +02:00
Henri Verbeet
4f3263e08c
wined3d: Handle core fixups like any other kind of extension fixup.
2012-07-24 13:36:28 +02:00
Henri Verbeet
048edaf6a3
wined3d: Fix some EXT_gpu_shader4 function names.
2012-07-23 12:36:00 +02:00
Henri Verbeet
526901e307
wined3d: Get rid of APPLE_flush_render, it doesn't exist.
2012-07-23 12:35:56 +02:00
Henri Verbeet
ea8dfe640d
wined3d: Convert some uppercase hex constants to lowercase.
2012-07-20 13:59:53 +02:00
Henri Verbeet
15b41f0181
wined3d: Get rid of some unused PCI IDs.
...
In case of e.g. CARD_AMD_RADEON_HD4650 and CARD_AMD_RADEON_HD4670 these are
wrong too, because you can't distinguish one HD46xx card from another based on
PCI ID.
2012-07-20 13:59:29 +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
Alexandre Julliard
4c0779006e
opengl32: Move the wgl functions to the main OpenGL function table.
2012-07-19 22:50:37 +02:00
Alexandre Julliard
2f31a66941
wined3d: Load glPointParameter functions as extensions rather than standard OpenGL functions.
2012-07-19 16:47:49 +02:00
Henri Verbeet
09443f14e7
wined3d: Enable "AlwaysOffscreen" by default.
2012-07-19 15:43:59 +02:00
Henri Verbeet
8a95eb0604
wined3d: Disable the X11 / GL lock.
2012-07-19 15:43:34 +02:00
Henri Verbeet
f1aea860f9
wined3d: Fix the draw buffer limit calculation.
2012-07-19 15:43:26 +02:00
Henri Verbeet
2bfc5214be
ddraw: Implement ddraw7_GetScanLine() on top of wined3d_get_adapter_raster_status().
2012-07-19 15:43:11 +02:00
Caron Jensen
9877df9aeb
wined3d: Recognize AMD Tahiti cards.
2012-07-19 15:43:01 +02:00
Henri Verbeet
e834c920ec
wined3d: Introduce a separate function for initializing various limits.
2012-07-17 12:50:22 +02:00
Henri Verbeet
f0fb199925
wined3d: Use the proper texture target in ffp_blit_p8_upload_palette().
2012-07-17 12:50:22 +02:00
Henri Verbeet
092ba1e1bf
wined3d: Use the proper texture target in fb_copy_to_texture_direct().
2012-07-17 12:50:21 +02:00
Henri Verbeet
f5e289c6e0
wined3d: Use the proper texture target in ffp_blit_set().
2012-07-17 12:50:21 +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
Alexandre Julliard
30e0e3ffff
wined3d: Remove unused variables.
2012-07-16 14:26:32 +02:00
Henri Verbeet
adf66a338f
wined3d: Get rid of the unused sampler_stages limit.
2012-07-16 14:21:52 +02:00
Henri Verbeet
2b4c72b13b
d3d10core: Always create a wined3d texture for d3d10core textures.
2012-07-12 11:45:21 -05:00
Henri Verbeet
0821c8024b
wined3d: Merge the device parent create_rendertarget() and create_depth_stencil() handlers.
2012-07-11 09:57:07 -05:00
Henri Verbeet
d26a3858d9
wined3d: Fix the block alignment check in surface_cpu_blt().
2012-07-11 09:56:58 -05:00
Henri Verbeet
1e22e3ccfb
wined3d: Introduce a helper function for checking surface block alignment.
2012-07-11 09:56:54 -05:00
Henri Verbeet
2907913fad
wined3d: Print a more obvious message if a format doesn't have a corresponding GL internal format.
2012-07-10 10:39:48 -05:00
Henri Verbeet
8ad98cdbee
wined3d: Get rid of the "discard" parameter to device_parent_create_depth_stencil().
2012-07-10 10:39:42 -05:00
Henri Verbeet
9b74ebd794
wined3d: Get rid of the "lockable" parameter to device_parent_create_rendertarget().
2012-07-10 10:39:34 -05:00
Henri Verbeet
73eceafb17
d3d9: Implement d3d9_device_ResetEx().
2012-07-09 15:04:18 -04:00
Henri Verbeet
3543e1d198
wined3d: Fix the .spec.
2012-07-09 15:04:11 -04:00
Vincas Miliūnas
ada3dff134
wined3d: Recognize AMD Radeon HD 6700 Series renderer string.
2012-07-02 19:18:07 +02:00
Henri Verbeet
e97dc9f33d
d3d9: Implement d3d9_EnumAdapterModesEx().
2012-07-02 19:17:59 +02:00
Alexandre Julliard
8f80159d40
wined3d: Get WGL extension definitions from wglext.h.
2012-07-02 19:17:58 +02:00
Henri Verbeet
8d4e3d0d58
d3d9: Implement d3d9_GetAdapterModeCountEx().
2012-06-29 10:14:29 +02:00
Henri Verbeet
256d433164
d3d9: Implement d3d9_device_PresentEx().
2012-06-29 10:14:21 +02:00
Henri Verbeet
035b79ebcf
wined3d: Use the device name stored in the adapter in wined3d_get_adapter_identifier().
2012-06-29 10:14:10 +02:00
Henri Verbeet
d843447580
wined3d: Use the device name stored in the adapter in wined3d_set_adapter_display_mode().
2012-06-29 10:14:06 +02:00
Henri Verbeet
56c518af3e
wined3d: Use the device name stored in the adapter in wined3d_get_adapter_display_mode().
2012-06-29 10:14:01 +02:00
Henri Verbeet
194ee40e07
wined3d: Use the device name stored in the adapter in wined3d_get_adapter_mode_count().
2012-06-28 18:52:29 +02:00
Henri Verbeet
e9d0367d29
wined3d: Use the device name stored in the adapter in wined3d_enum_adapter_modes().
2012-06-28 18:52:28 +02:00
Henri Verbeet
b6bdb4286d
wined3d: Avoid a redundant call to EnumDisplaySettingsExW() in wined3d_enum_adapter_modes().
2012-06-28 18:52:28 +02:00
Henri Verbeet
91f02018c5
wined3d: Avoid a useless call to wined3d_get_adapter_mode_count() in wined3d_enum_adapter_modes().
2012-06-28 18:52:27 +02:00
Alexandre Julliard
edfc7f0de0
opengl32: Move wglGetProcAddress to the WGL driver.
2012-06-28 16:14:55 +02:00
Alexandre Julliard
db25d4022a
winex11: Simplify wglSetPixelFormatWINE and export it as a standard extension function.
2012-06-28 13:13:01 +02:00
Alexandre Julliard
94abcd532f
wined3d: Always load wgl functions from opengl32.dll.
2012-06-28 01:44:02 +02:00
Henri Verbeet
0ce894f274
d3d9: Implement d3d9_device_GetDisplayModeEx().
2012-06-28 01:39:28 +02:00
Henri Verbeet
2c8834dffd
d3d9: Implement d3d9_GetAdapterDisplayModeEx().
2012-06-28 01:39:27 +02:00
Henri Verbeet
a1bfd0988f
wined3d: Take scanline ordering into account in the mode setting code.
2012-06-28 01:39:26 +02:00
Henri Verbeet
427f3e40dc
wined3d: Get rid of is_display_mode_supported().
...
If a display mode is unsupported, wined3d_set_adapter_display_mode() shouldn't
have a problem figuring that out on its own.
2012-06-28 01:39:24 +02:00
Henri Verbeet
d93e61f249
wined3d: Release the stateblock only after mode setting in wined3d_device_reset().
...
While we're allowed to leave the device in a somewhat inconsistent state after
a failed reset, such a state should be recoverable by calling reset again. If
e.g. mode setting were to fail between the point where we destroy and recreate
the stateblock a subsequent reset would crash because the device doesn't have
a stateblock anymore.
2012-06-26 17:32:59 +02:00
Henri Verbeet
0ee3007963
wined3d: Only unset the onscreen depth / stencil buffer once in wined3d_device_reset().
2012-06-26 17:32:48 +02:00
Józef Kucia
d760b21ab6
wined3d: Use the system memory pool for the logo surface.
2012-06-25 18:12:53 +02:00
Alexandre Julliard
66a5995e11
winex11: Move wglGetCurrentContext and wglGetCurrentDC to the internal OpenGL extension functions.
2012-06-25 16:25:44 +02:00
Alexandre Julliard
08efea0218
winex11: Move wglCopyContext and wglDeleteContext to the internal OpenGL extension functions.
2012-06-25 13:52:10 +02:00
Alexandre Julliard
beeba895d3
winex11: Move wglShareLists to the internal OpenGL extension functions.
2012-06-25 13:52:01 +02:00
Henri Verbeet
c11c2e2dbb
wined3d: Get rid of the d3d_caps debug channel.
2012-06-22 16:14:26 +02:00
Henri Verbeet
b6c7b825a1
wined3d: Only store a different screen format if it's explicitly changed through wined3d.
2012-06-22 16:14:14 +02:00
Henri Verbeet
c2c0743ccf
wined3d: Properly retrieve the display mode in wined3d_device_set_cursor_properties().
2012-06-22 16:14:08 +02:00
Henri Verbeet
7000899948
wined3d: Just forward wined3d_device_get_display_mode() to the appropriate swapchain.
2012-06-22 16:14:03 +02:00
Henri Verbeet
0f0fe49240
wined3d: Implement mode setting in the adapter instead of the device.
2012-06-22 16:13:58 +02:00
Henri Verbeet
fdb85423b4
wined3d: Lie about the display format in wined3d_get_adapter_display_mode().
2012-06-20 19:27:02 +02:00
Henri Verbeet
2a0463ac21
wined3d: Only filter redundant mode changes in wined3d.
2012-06-20 19:26:56 +02:00
Henri Verbeet
a6ffab3bf5
wined3d: Rename WINED3DLOCK_* to WINED3D_MAP_*.
2012-06-18 17:48:56 +02:00
Henri Verbeet
befdbbd90f
wined3d: Reset render target bindings in wined3d_device_reset().
2012-06-18 17:48:21 +02:00
Henri Verbeet
130f232d20
wined3d: Unset the depth/stencil surface before checking resources in wined3d_device_reset().
2012-06-18 17:48:16 +02:00
Thomas Faber
a6510b3fbc
wined3d: Use INFINITY.
2012-06-18 11:59:41 +02:00
Michael Stefaniuc
db5053c950
wined3d: Avoid sizeof on structs with variable length arrays.
2012-06-13 12:09:36 +02:00
Henri Verbeet
0610d1eec9
wined3d: Invalidate the entire buffer on maps with WINED3DLOCK_DISCARD.
2012-06-12 17:27:43 +02:00
Henri Verbeet
611b541f29
wined3d: Set undefined vertex attributes to 0.0.
2012-06-12 17:27:39 +02:00
Francois Gouget
4f17081652
wined3d: Make some surface functions static.
2012-06-12 11:11:16 +02:00
Francois Gouget
9a874aca8e
wined3d: Reorder some surface functions to avoid the need for forward declarations.
2012-06-12 11:11:12 +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
948065a52f
wined3d: Update nouveau card info.
2012-05-31 18:05:08 +02:00
Henri Verbeet
1a93983bd4
wined3d: Use NAN.
2012-05-30 17:17:59 +02:00
Kimmo Myllyvirta
d738e6ffd2
wined3d: Add NVIDIA GeForce GTX 680.
2012-05-29 10:53:44 +02:00
Henri Verbeet
aa71065d9b
wined3d: Properly preload index buffers.
2012-05-29 10:44:50 +02:00
Karsten Elfenbein
9d7a39656a
wined3d: Add Nvidia GTX 670.
2012-05-22 18:08:24 +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
481514eab2
wined3d: Get rid of the conv_mat macro.
2012-05-22 18:06:54 +02:00
Henri Verbeet
69bdff6253
wined3d: Avoid moving buffers while they're mapped.
2012-05-22 18:06:51 +02:00
Henri Verbeet
0d45d50342
wined3d: Don't evict resources that are currently mapped in wined3d_device_evict_managed_resources().
2012-05-21 21:31:02 +02:00
Henri Verbeet
5ec56c9bc4
wined3d: Get rid of SFLAG_LOCKED.
2012-05-21 21:30:56 +02:00
Henri Verbeet
f2fb3f11f9
wined3d: Move the resource map count field up to wined3d_resource.
2012-05-21 21:30:52 +02:00
Francois Gouget
fac36c55e9
Assorted typo, spelling, wording and case fixes.
2012-05-15 16:26:43 +02:00
Henri Verbeet
a331ed032e
wined3d: Properly check for transformed position in buffer_check_attribute().
2012-05-03 23:45:21 +02:00
Henri Verbeet
6b9018ccd2
wined3d: Use the wined3d_matrix structure for the identity matrix.
2012-05-03 23:45:09 +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
9267148705
wined3d: The wined3d object doesn't need a parent.
2012-05-03 11:18:00 +02:00
Alexandre Julliard
c054d7bc6f
wined3d: CreateDIBSection doesn't need a DC for the DIB_RGB_COLORS case.
2012-05-02 12:02:33 +02:00
Henri Verbeet
a8a201cf61
wined3d: Figure out the index data pointer inside drawPrimitive().
...
We want to do this after context_apply_draw_state(), when resource locations
are all setup.
2012-05-02 11:59:14 +02:00
Henri Verbeet
64e41dae8a
wined3d: Figure out the index size inside drawPrimitive().
2012-05-02 11:59:10 +02:00
Henri Verbeet
42b835754b
wined3d: Keep track of "all_vbo" in the stream info structure.
2012-05-01 14:44:15 +02:00
Henri Verbeet
de43de510a
wined3d: Move the resource bind_count field up to wined3d_resource.
2012-04-26 19:26:14 +02:00
Henri Verbeet
49c4623b2f
wined3d: device_clear_render_targets() never fails.
2012-04-16 12:05:15 +02:00
Henri Verbeet
3ba95e2f3e
wined3d: Move the present() back buffer check to the common wined3d_swapchain_present() code.
2012-04-16 12:05:09 +02:00
Henri Verbeet
8cef8b3587
wined3d: Unify the wined3d_mapped_rect and wined3d_mapped_box structures.
2012-04-13 10:48:51 +02:00
Henri Verbeet
cd0c18f56b
wined3d: Simplify the data.buffer_object assignment in surface_load_texture().
...
The surface pbo field should be 0 is SFLAG_PBO is not set.
2012-04-09 12:02:47 +02:00
Henri Verbeet
baff64a27a
wined3d: Properly determine the viewport size for front buffer blits in SetupForBlit().
2012-04-05 11:56:19 +02:00
Henri Verbeet
12369f9f4d
wined3d: Fix the VBO check in device_stream_info_from_declaration().
2012-03-29 20:49:14 +02:00
Henri Verbeet
7017ed4587
wined3d: Drop a questionable FIXME in device_stream_info_from_declaration().
2012-03-29 20:49:13 +02:00
Henri Verbeet
c7d3a8a478
wined3d: Drop the "vbo" check in wined3d_device_process_vertices().
...
We care about individual streams having a VBO or not, and there's no way for
device_stream_info_from_declaration() to properly express that, so just check
the individual streams.
2012-03-29 20:49:13 +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
439097c810
wined3d: Update the correct draw buffers mask.
2012-03-28 15:09:09 +02:00
Henri Verbeet
426535a7dd
wined3d: Recognise AMD HD 6770M and HD 6750M with closed drivers.
2012-03-28 11:36:46 +02:00
Henri Verbeet
00a4011425
wined3d: Drop the ORM_BACKBUFFER special case in surface_unmap().
2012-03-27 11:39:26 +02:00
Henri Verbeet
d1e00648ff
wined3d: Only update the drawable on surface unmap for the frontbuffer.
2012-03-27 11:39:23 +02:00
Henri Verbeet
6f8b8bda2d
wined3d: Load the backbuffer in the correct location before presenting in swapchain_gl_present().
2012-03-27 11:39:19 +02:00
Henri Verbeet
337b63d878
wined3d: Drop an Apple hack.
...
The hack actually breaks things on cards that do support more than 256
uniforms in GLSL.
2012-03-27 11:39:13 +02:00
Henri Verbeet
a0264eb101
wined3d: Move the WGL extension detection code to the same place as regular GL extension detection.
2012-03-16 11:08:59 +01:00
Henri Verbeet
bb08fafdf0
wined3d: Use the same code for parsing the WGL extension string as for the regular GL extension string.
2012-03-16 11:08:54 +01:00
Henri Verbeet
00ba167c71
wined3d: Introduce a separate function for parsing the GL extension string.
2012-03-16 11:08:49 +01:00
Henri Verbeet
02ae22d984
wined3d: The current WGL DC should never be NULL in wined3d_adapter_init_gl_caps().
2012-03-16 11:08:42 +01:00
Henri Verbeet
6396ad9e45
wined3d: GL_MAX_TEXTURE_COORDS_ARB is not available without ARB_fragment_program.
2012-03-12 10:44:01 +01:00
Henri Verbeet
112e2e219f
wined3d: Also recognise the "classic" Mesa Nouveau driver for GeForce 4 and earlier cards.
2012-03-12 10:44:00 +01:00
Henri Verbeet
ab4474c19b
wined3d: surface_cpu_blt() should always receive valid source and destination rectangles.
2012-03-12 10:44:00 +01:00
Henri Verbeet
29468906bb
wined3d: Pass correctly offset pointers to surface_cpu_blt_compressed().
...
This was debugged by Alexey Loukianov.
2012-03-12 10:43:59 +01:00
Matteo Bruni
4ed605f081
wined3d: Clamp fog coordinate in the ARB backend too.
2012-03-09 17:26:01 +01:00
Matteo Bruni
2d810bdc89
wined3d: Clamp fog coordinate in the vertex shader.
2012-03-09 17:25:57 +01: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
6eb5c891ac
wined3d: Use ARB_texture_rg for WINED3DFMT_R16G16_UNORM textures when available.
2012-03-09 11:32:16 +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
6d483c2d9d
wined3d: Don't use floating point for surface height scaling.
...
This is the follow-up to commit a4e5bcff4c
.
2012-03-08 17:57:54 +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
90739d9474
wined3d: Implement resetting the device window in wined3d_device_reset().
2012-02-29 20:47:29 +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
Gaurav Jain
b2eadfd4eb
wined3d: Recognize Nvidia GeForce 320M, 8600M GT & 9400M.
2012-02-22 20:49:11 +01:00
Henri Verbeet
80555d2cb8
wined3d: Specify the depth range in surface_depth_blt().
2012-02-22 18:47:30 +01:00
Henri Verbeet
ed47f259bd
wined3d: Don't take the wined3d mutex during WM_DISPLAYCHANGE either.
2012-02-21 11:30:10 +01:00
Henri Verbeet
a4e5bcff4c
wined3d: Use a format flag instead of a floating point comparison to determine if we need to apply heightscale.
2012-02-13 20:20:08 +01:00
Henri Verbeet
56a4680b69
wined3d: Complain when the hardware may not be able to run a shader.
2012-02-06 10:19:30 -06:00
Matteo Bruni
b51a657626
wined3d: Use a separate flag for discarded surfaces.
2012-02-02 15:18:09 +01:00
Henri Verbeet
348c655b5c
wined3d: Make sure transparent hardware cursors are really transparent.
...
Loosely based on a patch by Stefan Dösinger.
2012-01-27 14:57:55 +01:00
Henri Verbeet
faa040cd9e
wined3d: Clear the device if we're not removing the entry from the table in wined3d_unregister_window().
...
The device may be destroyed after the window is unregistered, causing
device_process_message() to access freed memory.
2012-01-26 17:43:50 +01:00
Henri Verbeet
d0347f51ed
wined3d: Only take the wined3d mutex during the WM_DISPLAYCHANGE handler in device_process_message().
...
We can deadlock if we send messages while holding the wined3d mutex and the
message loop is on another thread. Ideally we probably shouldn't send messages
while holding the wined3d mutex at all, but that may be hard to enforce with
the way wined3d locking is currently set up.
2012-01-25 11:25:04 +01:00
Matteo Bruni
f69f2aa347
wined3d: SM1 texture projection always divides by w when there is a vertex shader set.
2012-01-24 11:55:47 +01:00
Henri Verbeet
41c910d5f0
wined3d: Get rid of the vertex buffer conversion hack in process_vertices_strided().
...
The main thing that's broken is the unnecessary color conversion in case bgra
vertex arrays are supported. It shouldn't be hard to fix that, but at this
point I don't think this hack even helps a lot anymore.
2012-01-24 11:55:33 +01:00
Stefan Dösinger
038e308a41
wined3d: Relax depth blit requirements.
2012-01-23 16:06:55 +01:00
Henri Verbeet
1ec21e323b
wined3d: Rename WineD3DRectPatch to wined3d_rect_patch.
2012-01-20 13:31:36 +01:00
Henri Verbeet
3769afa33d
wined3d: Get rid of the WINED3DSURFTYPE typedef.
2012-01-20 13:31:33 +01:00
Henri Verbeet
d8b00ecf34
wined3d: Get rid of the CONVERT_TYPES typedef.
2012-01-20 13:31:24 +01:00
Henri Verbeet
8692ff48a9
wined3d: Don't load the draw_binding location in surface_unmap() unless the surface is on a swapchain.
...
It really makes no sense to do this just because a surface happens to be the
current render target. In particular, this patch prevents needlessly bouncing
the surface between the CPU and the GPU when the application does e.g.
multiple colorkeyed blits to the current render target to draw a HUD.
2012-01-20 13:31:17 +01:00
Henri Verbeet
d1254eddb5
wined3d: Properly enable / disable register combiners.
2012-01-20 13:31:07 +01:00
Matteo Bruni
cf5bc7a711
wined3d: Dirtify STATE_FRAMEBUFFER after a FBO depth blit.
2012-01-19 17:08:09 +01:00
Henri Verbeet
bee9adbd05
wined3d: Get rid of the WINED3DDECLUSAGE typedef.
2012-01-19 11:56:47 +01:00
Henri Verbeet
c35c30fa68
wined3d: Get rid of the WINED3DDECLMETHOD typedef.
2012-01-19 11:56:41 +01:00
Henri Verbeet
d0d094dea2
wined3d: Respect SFLAG_PIN_SYSMEM when creating a surface DIB section.
2012-01-19 11:56:30 +01:00
Henri Verbeet
e1cd2453b9
wined3d: Get rid of the mostly unused blockType field in struct wined3d_stateblock.
2012-01-19 11:56:00 +01:00
Akihiro Sagawa
bd97589dba
wined3d: Let GetRasterStatus return D3D_OK, again.
2012-01-19 11:55:48 +01:00
Henri Verbeet
ed417a6f13
wined3d: Get rid of the WINED3DSTATEBLOCKTYPE typedef.
2012-01-18 12:37:38 +01:00
Henri Verbeet
ae2e5d65ff
wined3d: Get rid of the WINED3DQUERYTYPE typedef.
2012-01-18 12:37:38 +01:00
Henri Verbeet
e53a277305
wined3d: Get rid of the WINED3DPOOL typedef.
2012-01-18 12:37:38 +01:00
Henri Verbeet
6a5a098b23
wined3d: Get rid of the WINED3DRESOURCETYPE typedef.
2012-01-18 12:37:38 +01:00
Henri Verbeet
c70e17e806
wined3d: Reset the changed float shader constants in stateblock_init_default_state().
...
The GLSL constant tracking needs these to be correct.
2012-01-18 12:37:37 +01:00
Henri Verbeet
59df293640
wined3d: Don't print an ERR if the depth/stencil surface still has references in wined3d_device_uninit_3d().
...
This is completely legitimate in ddraw.
2012-01-18 12:37:37 +01:00
Austin English
fe30990e8d
wined3d: Recognize Nvidia 540M.
2012-01-17 11:52:26 +01:00
Francois Gouget
cbc7a0361e
wined3d: Add a trailing '\n' to a FIXME() message.
2012-01-16 12:45:34 +01:00
Henri Verbeet
e70990041b
wined3d: Get rid of the WINED3DTEXTUREFILTERTYPE typedef.
2012-01-13 17:34:31 +01:00
Henri Verbeet
a206f43648
wined3d: Get rid of wined3d_surface_set_format().
2012-01-13 17:34:30 +01:00
Henri Verbeet
afb64506ba
ddraw: Implement width and height changes in ddraw_surface7_SetSurfaceDesc().
2012-01-13 17:34:30 +01:00
Matteo Bruni
c6c5c6905e
wined3d: Handle discarded depth-stencil surfaces with SFLAG_LOST.
...
SFLAG_INSYSMEM is already set by surface_add_dirty_rect() for all
surfaces anyway.
2012-01-13 17:34:30 +01:00
Matteo Bruni
cbf641e9e0
wined3d: Modify depth-stencil location flags only after allocating the new location.
2012-01-13 17:34:30 +01:00
Matteo Bruni
add5916c77
wined3d: Set depth textures dirty after modifying the underlying surface.
2012-01-13 17:34:30 +01:00
Henri Verbeet
7dac3e0921
wined3d: Get rid of the WINED3DBASISTYPE typedef.
2012-01-12 12:37:24 +01:00
Henri Verbeet
f38e94af7c
wined3d: Get rid of the WINED3DTRANSFORMSTATETYPE typedef.
2012-01-12 12:37:18 +01:00
Henri Verbeet
be3a9b5ecb
wined3d: Hold the wined3d mutex in device_process_message().
2012-01-12 12:35:50 +01:00
Diego Nieto Cid
759bad0202
wined3d: Convert rtInternal and glGammaInternal.
2012-01-11 19:42:50 +01:00
Henri Verbeet
2650ba4b17
wined3d: Get rid of the WINED3DTEXTUREADDRESS typedef.
2012-01-11 17:47:23 +01:00
Henri Verbeet
b6431d9493
wined3d: Get rid of the WINED3DTEXTUREOP typedef.
2012-01-11 17:47:22 +01:00
Henri Verbeet
b55e3d82cf
wined3d: Set SFLAG_PIN_SYSMEM when the application tries to use surfaces that are currently mapped.
2012-01-11 12:32:55 +01:00
Matteo Bruni
1c14c0d2fc
wined3d: Don't use separate location flags for depth buffers.
2012-01-10 10:48:26 +01:00
Matteo Bruni
e4c0d6abbe
wined3d: Don't try to remove the location flag if it's not there in the first place.
2012-01-10 10:48:13 +01:00
Henri Verbeet
7f7bc520b6
wined3d: Get rid of the WINED3DTEXTURETRANSFORMFLAGS typedef.
2012-01-10 10:47:30 +01:00
Henri Verbeet
43fcbcb36e
wined3d: Get rid of the WINED3DTEXTURESTAGESTATETYPE typedef.
2012-01-10 10:47:27 +01:00
Henri Verbeet
40e8d85426
wined3d: Simplify transform flag handling in find_ps_compile_args().
2012-01-10 10:47:17 +01:00
Henri Verbeet
9a8491045e
wined3d: Get rid of the WINED3DMULTISAMPLE_TYPE typedef.
2012-01-09 12:22:17 +01:00
Henri Verbeet
08545dc739
wined3d: Get rid of the WINED3DSAMPLERSTATETYPE typedef.
2012-01-09 12:22:12 +01:00
Henri Verbeet
f1e2c5df93
wined3d: Only flip SFLAG_DIBSECTION once in flip_surface().
...
We already swap all flags at a later point in flip_surface().
2012-01-09 12:22:03 +01:00
Henri Verbeet
de807eb21c
wined3d: Allow 10-bpc formats as render targets.
2012-01-09 12:21:53 +01:00
Henri Verbeet
3d33887c2f
wined3d: Get rid of the WINED3DSWAPEFFECT typedef.
2012-01-06 19:24:22 +01:00
Henri Verbeet
45f6def784
wined3d: Get rid of the WINED3DBACKBUFFER_TYPE typedef.
2012-01-06 19:24:21 +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
51d54a909c
wined3d: Recognize some more Intel GPUs.
2012-01-03 12:37:29 +01:00
Henri Verbeet
1a3aabf6f2
wined3d: Recognize i915g as Intel.
2012-01-03 12:37:29 +01:00
Matteo Bruni
fb38bad0c4
wined3d: Improve projection TEXTURETRANSFORMFLAGS handling in the ARB fragment ffp implementation.
2011-12-28 18:55:18 +01:00
Matteo Bruni
472fed41dd
wined3d: Improve invalid TEXTURETRANSFORMFLAGS handling.
2011-12-28 18:55:15 +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
0feb72f000
wined3d: Handle client storage in surface_remove_pbo().
2011-12-21 10:14:44 +01:00
Henri Verbeet
317d5406d5
wined3d: Handle client storage in surface_init_sysmem().
2011-12-21 10:14:41 +01:00
Henri Verbeet
b57d1e7c33
wined3d: Don't call surface_init_sysmem() on surfaces with a PBO.
2011-12-21 10:14:37 +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
67bca436ee
wined3d: Get rid of the WINED3DDEVTYPE typedef.
2011-12-13 18:58:58 +01:00
Henri Verbeet
ebb85da5f7
wined3d: Get rid of the WINEDDCAPS typedef.
2011-12-13 18:58:58 +01:00
Henri Verbeet
943fcb0fc4
wined3d: Use the correct source pitch and byte_count for uploading converted surfaces.
2011-12-13 18:58:57 +01:00
Henri Verbeet
e6fb4537f0
ddraw: Move clipper handling to ddraw.
2011-12-13 18:58:37 +01:00
Matteo Bruni
68e0cd430f
wined3d: Ignore invalid texture transform flags.
2011-12-13 14:00:24 +01:00
Matteo Bruni
fdd4df446f
wined3d: Fix some flag checks.
2011-12-13 14:00:24 +01:00
Henri Verbeet
e6a4a86608
wined3d: Get rid of the WINED3DPRIMITIVETYPE typedef.
2011-12-12 10:21:01 +01:00
Henri Verbeet
b55b683b08
wined3d: Get rid of the WINED3DLIGHTTYPE typedef.
2011-12-12 10:20:57 +01:00
Henri Verbeet
d806c37b4a
wined3d: Trace all swapchain_desc fields in wined3d_device_reset().
2011-12-12 10:20:52 +01:00
Henri Verbeet
38c3cde6fd
wined3d: Get rid of the WINED3DPSHADERCAPS2_0 typedef.
2011-12-09 21:15:25 +01:00
Henri Verbeet
af6b98c44b
wined3d: Get rid of the WINED3DVSHADERCAPS2_0 typedef.
2011-12-09 21:15:24 +01:00
Henri Verbeet
f3afa69f8d
wined3d: Introduce a helper function for checking colors against a color key.
2011-12-09 21:15:24 +01:00
Henri Verbeet
d2ca44a597
wined3d: Print the GL_RENDERER string when no "card selector" is available in wined3d_guess_card().
2011-12-09 21:15:24 +01:00
Henri Verbeet
11efbbf140
wined3d: The VertexAttrib*h[v] calls in NV_half_float depend on NV_vertex_program.
...
Based on a patch by Aurélien Couderc.
2011-12-09 21:15:23 +01:00
Henri Verbeet
3dd03f642d
wined3d: Get rid of the WINEDDCOLORKEY typedef.
2011-12-08 10:27:53 +01:00
Henri Verbeet
52231bc467
wined3d: Get rid of the WineDirect3DVertexStridedData typedef.
2011-12-08 10:27:50 +01:00
Henri Verbeet
ada8ad76b9
wined3d: Avoid clearing the current wined3d context in WineD3D_CreateFakeGLContext().
...
There should be no need to clear the thread's current wined3d context as long
as we properly restore the corresponding GL stuff. This avoids hitting the
context restore code in context_enter() when we have e.g. two d3d9 devices,
one of which is inactive, because now we can see that the GL context that's
active belongs to another wined3d context, and we don't need to bother
saving and restoring it.
2011-12-08 10:27:40 +01:00
Henri Verbeet
2d1a941b7d
wined3d: Properly check if a surface has a DIB section in gdi_surface_map().
2011-12-08 10:27:32 +01:00
Henri Verbeet
56e3e05e57
wined3d: Read the PBO back into the DIB section if we have one in surface_remove_pbo().
2011-12-08 10:27:29 +01:00
Henri Verbeet
4c3dfa1bca
wined3d: Get rid of the WineDirect3DStridedData typedef.
2011-12-07 17:49:56 +01:00
Henri Verbeet
5c5216e609
wined3d: Get rid of the WINED3DBOX typedef.
2011-12-07 17:49:56 +01:00
Henri Verbeet
3f455832a3
wined3d: Unbind stateblock resources in wined3d_device_uninit_3d().
2011-12-07 17:49:55 +01:00