Commit Graph

7542 Commits

Author SHA1 Message Date
Józef Kucia 4f9642d0e9 wined3d: Use immutable storage for 3D textures.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-26 22:14:53 +09:00
Józef Kucia 1ddf2e47e2 wined3d: Use immutable storage for 2D textures.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-26 22:14:53 +09:00
Józef Kucia 266528e244 wined3d: Add ARB_texture_storage extension.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-26 22:14:53 +09:00
Józef Kucia c7aa915a15 wined3d: Prefer sized GL internal formats.
GL_ARB_texture_storage requires sized formats.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-26 22:14:53 +09:00
Józef Kucia 1cf142e6e7 wined3d: Simplify match_apple().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-26 22:14:52 +09:00
Józef Kucia 56b22347d2 wined3d: Handle SM4 breakc instruction modifiers.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-25 22:05:09 +09:00
Józef Kucia 422bf938cd wined3d: Handle SM4 if instruction modifiers.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-25 22:05:06 +09:00
Józef Kucia 8d48454a36 wined3d: Clean up SM1 frontend.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-25 22:05:04 +09:00
Józef Kucia 3ab205ef94 wined3d: Ignore flags for conditional SM 1-3 instructions explicitly.
This is to make sure that a regression is not introduced when the SM4+
_nz/_z modifiers are implemented for these instructions.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-25 22:04:58 +09:00
Alistair Leslie-Hughes 77e1037e00 wined3d: Support missing WINED3DUSAGE flags to debug_d3dusage.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-25 22:04:20 +09:00
Józef Kucia b18d8ec04a wined3d: Allow draw calls without vertex declaration.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-24 20:03:17 +09:00
Henri Verbeet 569fcd33dc wined3d: Store shader signatures directly in struct wined3d_shader_desc.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-24 16:19:07 +09:00
Henri Verbeet 597c4d52cc wined3d: Get rid of the redundant "output_signature" parameter to shader_set_function().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-24 16:19:04 +09:00
Henri Verbeet 8ae3a9b624 wined3d: Introduce a helper function to allocate arrays.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-24 16:19:01 +09:00
Henri Verbeet 10e601ba3c wined3d: Properly cleanup on failure in wined3d_cs_create().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-24 16:18:58 +09:00
Józef Kucia 9a8ee50f2e wined3d: Simplify "format_vertex_info" table.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 19:25:39 +09:00
Józef Kucia 270d09d008 wined3d: Inverse logic for applying half float vertex format fixups.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 19:24:20 +09:00
Józef Kucia 77608ba4fc wined3d: Simplify "ffp_attrib_ops" initialization.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 19:24:17 +09:00
Józef Kucia 91a67856db wined3d: Add more D3D11 vertex formats.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 19:24:13 +09:00
Józef Kucia e47a735f76 wined3d: Add wined3d creation flag for selecting unbound resource color.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 19:23:45 +09:00
Matteo Bruni 54d8f57cc5 wined3d: Reselect the current GLSL geometry shader when possible even if the VS changed.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:07:46 +09:00
Matteo Bruni 91537b9f1f wined3d: Add support for core OpenGL geometry shaders.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:07:44 +09:00
Matteo Bruni f5dc7a43b0 wined3d: Fixup vertex position in geometry shaders.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:07:41 +09:00
Matteo Bruni 9a14d78de9 wined3d: Handle GS inputs and outputs.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:07:38 +09:00
Matteo Bruni 0f062f5108 wined3d: Get rid of the "reorder shaders" for SM4+.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:07:36 +09:00
Matteo Bruni cf52d1635c wined3d: Simplify shader interface matching for SM4+ vertex shaders.
After some testing it looks like, with SM4+ on Windows:
1. Output registers have to match with input registers from the
following shader stage (register index and mask). There is no "smart"
matching of semantics like in SM3.
2. Using uninitialized varyings in SM4+ shaders doesn't give consistent
results.
That means we can simplify the relevant code quite a bit. Applications
shouldn't be able to depend on particular values for uninitialized
varyings so we can avoid explicitly initializing them.

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:07:29 +09:00
Matteo Bruni 2c90b9aee0 wined3d: Clean up VS-PS interface matching in GLSL.
It makes easier to add similar handling for GS inputs and outputs.
Functionally this should be a NOP.

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:07:26 +09:00
Matteo Bruni f5aee34d98 wined3d: Alpha test emulation for core profile contexts.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:07:23 +09:00
Henri Verbeet a911bff8fd wined3d: Use debug_color() in wined3d_format_convert_from_float().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:07:00 +09:00
Henri Verbeet eb3aae96d1 wined3d: Don't import libuuid.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:06:57 +09:00
Henri Verbeet 27dac1eea3 wined3d: Get rid of some unused declarations.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:06:46 +09:00
Henri Verbeet 3e29f952f9 wined3d: NP2 emulation is not allowed on array textures.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:06:44 +09:00
Henri Verbeet aa666adfed wined3d: Send shader constant updates through the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:06:41 +09:00
Józef Kucia e36a7e5da4 wined3d: Match position output register by sysval semantic value.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-21 00:53:52 +09:00
Józef Kucia 57788849fd wined3d: Use bit fields instead of BOOL arrays.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-19 20:26:47 +09:00
Józef Kucia e62763972e wined3d: Implement texture stage constants in ARB program shader backend.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-19 20:26:45 +09:00
Józef Kucia f993a8e1c0 wined3d: Load color key constants after switching to ARB fixed-function program.
This seems to be missing in f84d741cb3.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-19 20:26:42 +09:00
Józef Kucia f9705e3c6c wined3d: Forbid to create BC{1, 2, 3}_UNORM_SRGB 3D textures.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-19 20:26:40 +09:00
Józef Kucia b997719485 wined3d: Add support for 2D array texture samplers.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-19 20:26:29 +09:00
Andrey Gusev b868bc4e17 wined3d: Fix a typo in a pointer in wined3d_swapchain_ops.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-19 20:25:07 +09:00
Józef Kucia 05f6f111bf wined3d: Implement SV_VertexID in GLSL backend.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 19:39:00 +09:00
Józef Kucia 2d97dbf87b wined3d: Add SV_VertexID sysval semantic.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 19:38:58 +09:00
Józef Kucia 8e56632234 wined3d: Use d3d_perf channel for performance warnings.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 19:38:55 +09:00
Henri Verbeet d701a76ca1 wined3d: Make wined3d_device_get_ps_consts_b() consistent with wined3d_device_get_ps_consts_f().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 10:35:55 +09:00
Henri Verbeet 0a8951d99b wined3d: Make wined3d_device_set_ps_consts_b() consistent with wined3d_device_set_ps_consts_f().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 10:35:50 +09:00
Henri Verbeet 9c8c391146 wined3d: Make wined3d_device_get_vs_consts_b() consistent with wined3d_device_get_vs_consts_f().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 10:35:44 +09:00
Henri Verbeet 73ba87658c wined3d: Make wined3d_device_set_vs_consts_b() consistent with wined3d_device_set_vs_consts_f().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 10:35:39 +09:00
Henri Verbeet 076697e31a wined3d: Rename MAX_CONST_B to WINED3D_MAX_CONSTS_B.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 10:35:34 +09:00
Stefan Dösinger aa475ce23f wined3d: Discard the backbuffer in swapchain_gl_present() with the "discard" swap effect.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 01:06:17 +09:00
Stefan Dösinger 3a72716556 wined3d: Use wined3d_texture_prepare_location() in wined3d_texture_update_desc().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 01:06:16 +09:00