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