Commit Graph

5939 Commits

Author SHA1 Message Date
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