Commit Graph

7153 Commits

Author SHA1 Message Date
Józef Kucia 8ac0526013 wined3d: Print opcode names instead of enum values.
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-01-03 20:04:02 +01:00
Józef Kucia 1ef7eddfcb wined3d: Recognize SM4 imin opcode.
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-01-03 20:04:00 +01:00
Józef Kucia 05cf63b30f wined3d: Recognize SM4 imax opcode.
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-01-03 20:03:57 +01:00
Alex Henrie 32d73eab5c wined3d: Avoid double initialization.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-03 20:03:41 +01:00
Alex Henrie 7e96e4ccf4 wined3d: Turn char_component and color into static constants.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-03 20:03:37 +01:00
Matteo Bruni d2d8d8f13e wined3d: Regenerate FFP replacement VS on changes to the normal attribute in the vertex declaration.
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-01-03 19:45:31 +01:00
Stefan Dösinger bcabae6f40 wined3d: Clip software cursor blits.
This prevents the SW cursor from disappearing when it is at the edge of
the screen.

Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-12 05:27:11 +01:00
Stefan Dösinger 080dedaf6e wined3d: Restore WINEDDBLT_ALPHATEST support.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-12 05:27:02 +01:00
Józef Kucia c251d02171 wined3d: Use correct initial color for FFP texture blending 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>
2015-12-10 00:12:43 +09:00
Józef Kucia 2e00982a61 wined3d: Use correct initial color for FFP texture blending 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>
2015-12-10 00:12:43 +09:00
Henri Verbeet 1ebb42ca53 ddraw: Mark surfaces as lost when the device window is deactivated.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-04 21:56:19 +09:00
Matteo Bruni 66d8e38ba4 wined3d: Handle D3DRS_SRGBWRITEENABLE in clears when ARB_framebuffer_sRGB is not supported.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-30 23:51:06 +09:00
Matteo Bruni 787a2716e1 wined3d: Respect D3DRS_SRGBWRITEENABLE in clears.
This only handles the case where ARB_framebuffer_sRGB and
EXT_texture_sRGB_decode are supported by the GL implementation.

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-30 23:51:05 +09:00
Matteo Bruni b5ba93831a wined3d: Add ARB_ES2_COMPATIBILITY entry to the core extensions table.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-30 23:51:04 +09:00
Matteo Bruni 6dd054ca58 wined3d: Flush the GL context before switching away from it.
We might end up not using the old context anymore after that and the GL
implementation is allowed to delay executing commands indefinitely if we
don't flush.

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-30 23:51:03 +09:00
Sebastian Lackner 0df64fc394 wined3d: Fix specfile entry for wined3d_swapchain_get_back_buffer.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-30 23:16:43 +09:00
Henri Verbeet af196e5f25 dxgi: Implement dxgi_output_GetDesc().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-25 13:21:47 +09:00
Stefan Dösinger 369956a6fd wined3d: Discard depth stencils on unload.
Doing so is equivalent of setting WINED3D_LOCATION_DISCARDED when
creating new depth stencil surfaces. It will only happen on the implicit
depth stencil.

Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-23 23:35:20 +09:00
Stefan Dösinger 61ad9284d0 wined3d: Support loading renderbuffers in surface_load_location.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-23 23:35:20 +09:00
Henri Verbeet b0be9f0b93 wined3d: Ignore "always_offscreen" for ORM_BACKBUFFER in context_create().
ORM_BACKBUFFER uses the backbuffer for off-screen rendering.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-19 12:59:44 +09:00
Francois Gouget cb2f6fbfe5 wined3d: Make surface_prepare_rb() static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-19 00:21:53 +09:00
Hugh McMaster 11669fa5e2 Assorted spelling and grammar fixes.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-17 22:56:40 +09:00
Matteo Bruni 0985606be4 wined3d: Flat shading emulation for core 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>
2015-11-13 22:54:23 +09:00
Matteo Bruni c5b2d3f10c wined3d: Handle WINED3D_SHADE_PHONG the same as WINED3D_SHADE_GOURAUD.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-13 22:54:01 +09:00
Matteo Bruni d6c8146633 wined3d: Enforce a stable texture units mapping.
The GLSL shader backend hardcodes the sampler uniforms at program link
time, it can't handle a change in the mapping between draws with the
same shader program.

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-13 22:53:58 +09:00
Matteo Bruni 750dc790b7 wined3d: Avoid going through the texture units mapping when unnecessary.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-13 22:53:55 +09:00
Matteo Bruni e449f90b20 wined3d: Set default texture units mapping for vertex shader samplers when possible.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-13 22:53:50 +09:00
Józef Kucia 578601955c wined3d: Make offset parameter optional in wined3d_device_get_stream_output().
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>
2015-11-12 22:17:04 +09:00
Riccardo Bortolato e15e2569a8 wined3d: Call wined3d_texture_decref() instead of wined3d_surface_decref() in swapchain_gl_present().
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-06 14:46:13 +09:00
Riccardo Bortolato b6c7cd9720 wined3d: Call wined3d_texture_decref() instead of wined3d_surface_decref() in wined3d_device_reset().
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-06 14:46:06 +09:00
Riccardo Bortolato ff3f729e88 wined3d: Call wined3d_texture_decref() instead of wined3d_surface_decref() in wined3d_device_uninit_3d().
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-06 14:45:58 +09:00
Riccardo Bortolato 9af54e742a wined3d: Call wined3d_texture_{inc, dec}ref() instead of wined3d_surface_{inc, dec}ref() in device_switch_onscreen_ds().
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-06 14:45:49 +09:00
Riccardo Bortolato bb70c73205 wined3d: Call wined3d_texture_decref() instead of wined3d_surface_decref() in wined3d_cs_exec_set_depth_stencil_view().
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-06 14:45:42 +09:00
Józef Kucia 01c3fac140 wined3d: Remove wined3d_texture_{map,unmap}().
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>
2015-11-05 22:02:43 +09:00
Henri Verbeet b53256b8b7 wined3d: Call wglGetPixelFormat() through the gl_ops table.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 14:41:39 +09:00
Henri Verbeet c92451f295 wined3d: Always use the same formats in context_create() when "always_offscreen" is enabled.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 14:41:39 +09:00
Henri Verbeet 27e65fb963 wined3d: Disallow stencil size mismatches in wined3d_check_pixel_format_depth() if the format has stencil bits.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 14:41:39 +09:00
Henri Verbeet 99033b1453 wined3d: Get rid of getDepthStencilBits().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 14:41:39 +09:00
Henri Verbeet e0ab314b62 wined3d: Get rid of getColorBits().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 14:41:38 +09:00
Henri Verbeet 4896fd6e28 wined3d: Map glDrawArraysInstanced() to glDrawArraysInstancedARB().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 14:41:38 +09:00
Józef Kucia 3f2fa96b98 wined3d: Set slice pitch in wined3d_map_desc to surface size.
This behavior mimics D3D11 runtime.

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>
2015-11-04 14:41:37 +09:00
Józef Kucia 7b9d06b494 wined3d: Introduce wined3d_resource_unmap().
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>
2015-11-04 14:41:37 +09:00
Józef Kucia 535b3fe029 wined3d: Introduce wined3d_resource_map().
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>
2015-11-04 14:41:37 +09:00
Riccardo Bortolato 4a4efc3506 wined3d: Make wined3d_device_copy_sub_resource_region return an error code.
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-01 22:53:51 +09:00
Matteo Bruni 905261ab40 wined3d: Cleanup extension check for shader model 4 support.
This essentially enables shader model 4 support with Mesa or OS X when
using core profile.

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-01 22:53:51 +09:00
Stefan Dösinger 1ca9dfc8ee wined3d: Prepare GL resources before calling context_apply_fbo_state.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 21:20:24 +09:00
Henri Verbeet b0f267ae9d wined3d: Add a missing TRACE to wined3d_texture_unmap().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 22:31:31 +09:00
Henri Verbeet 8cc557a705 wined3d: Add a missing TRACE to wined3d_texture_map().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 22:31:30 +09:00
Riccardo Bortolato 96dd793756 wined3d: Introduce wined3d_texture_release_dc().
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 22:31:29 +09:00
Riccardo Bortolato a2f2d238d4 wined3d: Introduce wined3d_texture_get_dc().
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 22:31:29 +09:00
Riccardo Bortolato 3e491662ba wined3d: Introduce wined3d_rendertarget_view_create_from_sub_resource().
Initial usage in d3d9.

Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 22:31:28 +09:00
Riccardo Bortolato 3b02ae89a8 d3d9: Replace wined3d_surface_get_render_target_data with wined3d_texture_blt in d3d9_device_GetRenderTargetData.
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-23 19:19:17 +09:00
Stefan Dösinger d05736d2d9 wined3d: Only set GL_DEPTH_TEXTURE_MODE_ARB if ARB_depth_texture is supported.
Fixes a GL error on r200.

Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-23 19:19:00 +09:00
Matteo Bruni 08bd0ba28c wined3d: Use the core version of the debug messages functions.
Reported and tested by Andrey Gusev.

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-22 17:32:23 +09:00
Matteo Bruni 59cb65b153 wined3d: Add a format fixup for INTZ on core profile.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-22 17:32:12 +09:00
Matteo Bruni b2e1b5968c wined3d: Allow FBO blits for depth formats with swizzle fixups.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-22 17:32:07 +09:00
Matteo Bruni 41bf97e58a wined3d: Set GL_DEPTH_TEXTURE_MODE_ARB to GL_INTENSITY.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 22:41:55 +09:00
Matteo Bruni 245e06d9e3 wined3d: Use non-deprecated texture sample builtins also in the fragment pipeline replacement 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>
2015-10-21 22:41:48 +09:00
Andrey Gusev 9d7cc07687 wined3d: Recognize Radeon HD 3850 AGP.
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>
2015-10-21 01:04:31 +09:00
Riccardo Bortolato 6241ce5637 wined3d: Introduce a new wined3d_texture_blt function.
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:38 +09:00
Riccardo Bortolato 6671535dc3 wined3d: Make wined3d_device_set_cursor_properties work with wined3d_texture and sub_resource_index.
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:38 +09:00
Riccardo Bortolato 53f795af0a wined3d: Make wined3d_swapchain_get_front_buffer_data work with wined3d_texture and sub_resource_idx.
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:38 +09:00
Riccardo Bortolato 9875ad2cc3 d3d9: Call wined3d_swapchain_get_front_buffer_data instead of wined3d_device_get_front_buffer_data in d3d9_device_GetFrontBuffer.
Removed the now unused wined3d_device_get_front_buffer_data from wined3d.

Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:38 +09:00
Matteo Bruni 78bd9c9811 wined3d: Use non-deprecated texture sample builtins in shaders on core profile.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-16 19:56:56 +09:00
Matteo Bruni 9be8d0a9f4 wined3d: Avoid the builtin color varyings on core profile.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-16 19:56:54 +09:00
Matteo Bruni ad2fc9397e wined3d: Avoid the builtin texture coordinate varyings on core profile.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-16 19:56:51 +09:00
Matteo Bruni 5b8be5550e wined3d: Don't output the fogcoord varying when not necessary.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-16 19:56:48 +09:00
Stefan Dösinger 973de3f59c wined3d: Pass a context to surface_load_location.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-16 19:56:42 +09:00
Stefan Dösinger 14f024048b wined3d: Pass a context to surface_load_fb_texture.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-16 19:56:39 +09:00
Stefan Dösinger 31e0755ea6 wined3d: Pass a context to surface_load_texture.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-16 19:56:36 +09:00
Stefan Dösinger c7eb6a7534 wined3d: Pass a context to surface_multisample_resolve.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-16 19:56:33 +09:00
Henri Verbeet 8b9e56cc9e wined3d: The cursor image surface is not allowed to be NULL in wined3d_device_set_cursor_properties().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-16 17:59:56 +09:00
Stefan Dösinger 8b149890ac wined3d: Pass a context to surface_blt_fbo.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 23:15:09 +09:00
Stefan Dösinger 84933d60a3 wined3d: Pass a context to surface_load_drawable.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 23:15:06 +09:00
Stefan Dösinger 7af0ede8fe wined3d: Pass a context to surface_blt_to_drawable.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 23:15:03 +09:00
Stefan Dösinger b28511f73b wined3d: Pass a context to read_from_framebuffer.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 23:14:51 +09:00
Stefan Dösinger 59ec72879f wined3d: Remove wined3d_device_present.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 19:20:29 +09:00
Matteo Bruni f4d9f8c212 wined3d: Fully initialize partially written varyings in SM3 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>
2015-10-13 22:23:59 +09:00
Stefan Dösinger a385c9ea3e wined3d: Pass a context to surface_load_sysmem.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-13 22:23:46 +09:00
Riccardo Bortolato 9c00f968d6 d3d8: Make use of wined3d_texture_map in d3d8_surface_LockRect.
Pass wined3d_texture and sub_resource idx to device_parent_surface_created callback.
Store wined3d_texture and sub_resource in d3d8_surface.
Also updated d3d9, d3d11, ddraw callbacks accordingly.

Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-12 23:34:56 +09:00
Riccardo Bortolato cee9409ab8 wined3d: Merge wined3d_volume_{inc, dec}ref in their respective caller.
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-08 21:00:17 +09:00
Riccardo Bortolato 33bb9e9610 wined3d: Don't pass a wined3d_volume to device_volume_created callback anymore.
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-08 21:00:07 +09:00
Riccardo Bortolato fca636a01c d3d9: Don't use a wined3d_volume in d3d9_volume_GetDesc.
finally removed the wind3d_volume pointer from d3d9_volume.
Also removed wined3d_volume_get_resource.

Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-08 20:59:58 +09:00
Riccardo Bortolato 8dd86823fd d3d9: Make use of wined3d_texture_unmap in d3d9_volume_UnlockBox.
Also removed wined3d_volume_unmap from wined3d public api.

Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-08 20:59:46 +09:00
Riccardo Bortolato b9cc2859fe d3d9: Make use of wined3d_texture_map in d3d9_volume_LockBox.
Also removed wined3d_volume_map from wined3d public api.

Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-08 20:59:32 +09:00
Matteo Bruni 97ee9451ed wined3d: Initialize unwritten color varyings.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2015-10-07 21:28:54 +09:00
Matteo Bruni 09eda02b68 wined3d: Output all the texture coordinates in the FFP replacement VS when there are enough varyings.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2015-10-07 21:28:54 +09:00
Matteo Bruni 08b21528ed wined3d: Avoid reading uninitialized texcoord varyings in pixel shaders.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2015-10-07 21:28:54 +09:00
Matteo Bruni f511787423 wined3d: Avoid reading uninitialized texcoord varyings in FFP replacement fragment shaders.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2015-10-07 21:28:53 +09:00
Matteo Bruni 93db8e97da wined3d: Store supported varyings count in d3d_limits.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2015-10-07 21:28:53 +09:00
Riccardo Bortolato 9621737c8e wined3d: Pass wined3d_texture and sub_resource idx to device_volume_created callback.
Store wined3d_texture and sub_resource in d3d8_volume.
Updated the d3d8_volume_LockBox to make use of wined3d_texture_map.
Also updated d3d9, d3d11, ddraw callbacks accordingly.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2015-10-07 21:28:52 +09:00
Riccardo Bortolato eac95d30b6 wined3d: Introduce new wined3d_texture_(un)map functions.
Initial usage in d3d11.
Also removed wined3d_volume_from_resource.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2015-10-07 21:28:52 +09:00
Riccardo Bortolato 1d1487105d wined3d: Pass a wined3d_box to wined3d_surface_map..
Introduced a new surface_check_block_align function that accepts a
wined3d_box, eventually the old _rect version will be completely
replaced.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2015-10-07 21:28:51 +09:00
Matteo Bruni b90b61aa68 wined3d: Initialize unwritten texcoord varyings in the VS.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
2015-10-06 19:23:16 +09:00
Matteo Bruni 47bf62962a wined3d: Initialize unwritten texcoord varyings in the FFP replacement vertex shader.
Only when the GPU supports enough varyings.

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
2015-10-06 19:23:07 +09:00
Matteo Bruni eb58fef698 wined3d: Avoid the builtin fog coordinate varying on core profile.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
2015-10-05 19:24:34 +09:00
Matteo Bruni 0c84d8dd91 wined3d: Avoid the deprecated syntax for SM3 varyings on core profile.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
2015-10-05 19:24:31 +09:00
Stefan Dösinger a887a87a90 wined3d: WINED3DFMT_B5G5R5X1_UNORM doesn't have an alpha channel.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
2015-10-02 15:38:04 +09:00
Andrey Gusev 3c8635c8d7 wined3d: TRACE fixes. 2015-10-01 00:00:46 +09:00
Andrey Gusev edbd841d34 wined3d: Fix TRACE in shader_dump_decl_usage(). 2015-09-15 20:05:14 +09:00
Riccardo Bortolato 825b141e5a wined3d: Remove wined3d_surface_get_flip_status stub. 2015-09-10 20:00:52 +09:00
Riccardo Bortolato e869ef5c0f wined3d: Remove wined3d_surface_get_blt_status stub. 2015-09-10 20:00:46 +09:00
Riccardo Bortolato 9eb47678de wined3d: Remove volume reference counting from public interface. 2015-09-10 20:00:32 +09:00
Riccardo Bortolato 5cba355a83 wined3d: Remove wined3d_volume_get_parent. 2015-09-10 20:00:23 +09:00
Riccardo Bortolato 02ce14b3ef wined3d: Remove wined3d_volume_preload. 2015-09-10 20:00:15 +09:00
Stefan Dösinger ebd6bf7f7a wined3d: Remove old surface flipping hacks.
They're non-functional these days anyway.
2015-09-08 21:59:16 +09:00
Stefan Dösinger 2936e4ac54 wined3d: Remove wined3d_backbuffer_type. 2015-09-08 21:59:16 +09:00
Stefan Dösinger fa0041954f wined3d: Return a texture from the swapchain resource creation callback. 2015-09-04 20:01:05 +09:00
Stefan Dösinger feb35006f5 wined3d: Remove wined3d_device_get_back_buffer. 2015-09-03 21:11:08 +09:00
Stefan Dösinger f010e5d88a wined3d: Return a texture from wined3d_swapchain_get_back_buffer. 2015-09-03 21:11:07 +09:00
Stefan Dösinger c4e4647ca5 d3d9: Validate swap effect and backbuffer count. 2015-08-27 21:43:46 +09:00
Henri Verbeet 2773b27bb1 wined3d: Use unsigned mask constants in shifts. 2015-08-26 23:53:22 +09:00
Henri Verbeet 9f530b579e wined3d: Get rid of some powf() calls. 2015-08-26 23:53:22 +09:00
Stefan Dösinger b471b217b2 wined3d: Handle multisample_quality if type == MULTISAMPLE_NON_MASKABLE. 2015-08-25 21:08:41 +09:00
Stefan Dösinger 40c5303b62 ddraw: Return the right error if range color keys are used. 2015-08-24 20:42:40 +09:00
Stefan Dösinger 1a965811f6 wined3d: Add a slop for color keying. 2015-08-24 20:42:20 +09:00
Stefan Dösinger 3bd0eb3eab wined3d: Use GL_RGB565 if available.
This offers better precision on r300g and r600g than GL_RGB5.
2015-08-20 20:16:15 +09:00
Stefan Dösinger 6626b1a51b wined3d: Use the correct color key in ARBfp color key blits. 2015-08-20 20:16:12 +09:00
Henri Verbeet 62a02a047f d3d10core: Implement d3d10_device_UpdateSubresource(). 2015-08-18 18:28:47 +09:00
Henri Verbeet ee9b1311cd wined3d: Separate loading shader resources and updating their binding points. 2015-08-18 18:28:41 +09:00
Henri Verbeet 8f6f9096d7 wined3d: Also invalidate STATE_SHADER_RESOURCE_BINDING in wined3d_texture_bind_and_dirtify(). 2015-08-18 18:28:39 +09:00
Andrey Gusev 5cdcd4493f Assorted spelling and typos fixes. 2015-08-18 15:00:13 +09:00
Henri Verbeet fca2d19423 dxgi: Implement dxgi_swapchain_ResizeBuffers(). 2015-08-07 23:44:19 +09:00
Henri Verbeet 2735947d76 wined3d: Introduce a separate function to resize swapchain buffers. 2015-08-07 23:44:14 +09:00
Henri Verbeet 7f29d994ad wined3d: Add base format info for WINED3DFMT_R8G8B8A8_UNORM_SRGB. 2015-08-06 23:36:01 +09:00
Henri Verbeet 7f416ff339 wined3d: Validate "data" in buffer_init(). 2015-07-31 12:08:53 +02:00
Henri Verbeet 62454ae71d wined3d: Validate "data" in wined3d_texture_upload_data(). 2015-07-31 12:08:49 +02:00
Stefan Dösinger 34d8b987c4 wined3d: Try to detect the polygon offset scale value.
FEAR draws the same geometry twice, the second time using zfunc=equal.
In both cases it sets a huge depth bias of -0.5, presumably to get
better precision for the fragile Z comparison. The GL polygon offset we
set ends up being so large that it pulls the geometry into the negative
Z range. It isn't clipped (or no longer, older NV drivers probably had a
separate bug there), but the Z value gets clamped to 0.0 in the first
draw and doesn't match the incoming Z in the second draw.
2015-07-30 23:50:57 +02:00
Matteo Bruni 1eb6e5dd80 wined3d: Update GLSL vertex pipe replacement TODO comment.
It turns out most of that has been implemented since the comment was
originally written.
2015-07-29 20:56:44 +02:00
Matteo Bruni a064797e0f wined3d: Don't unnecessarily fallback to immediate mode for FFP draws with the PSIZE attribute. 2015-07-29 20:56:41 +02:00
Michael Stefaniuc d700dbbae7 wined3d: Merge two adjacent ifs with identical condition (PVS-Studio). 2015-07-28 13:41:49 +02:00
Matteo Bruni f2989a2522 wined3d: Only install emulation wrappers when required. 2015-07-28 13:41:48 +02:00
Matteo Bruni 6244735f7a wined3d: Don't crash when emulating GL_EXT_fogcoord. 2015-07-28 13:41:48 +02:00
Matteo Bruni 930d3e6269 wined3d: Allow to apply extension emulation wrappers independently. 2015-07-28 13:41:47 +02:00
Matteo Bruni 12ef1756d2 wined3d: Don't run check_filter() on core contexts.
The code uses glBegin() / glEnd() and other APIs removed from core
profile.
2015-07-28 13:41:47 +02:00
Matteo Bruni 53d1527945 wined3d: Avoid glBegin() / glEnd() in check_fbo_compat() when possible. 2015-07-28 13:41:46 +02:00
Henri Verbeet e2c0c611d4 d3d10core: Implement d3d10_device_CopySubresourceRegion(). 2015-07-20 11:50:27 +02:00
Matteo Bruni a7315eb76a wined3d: Bind a VAO when using core profile contexts. 2015-07-13 22:06:38 +09:00
Matteo Bruni 3c49a012c0 wined3d: Add more entries to the core extensions table. 2015-07-13 22:06:38 +09:00
Matteo Bruni 6dc3ac2b04 wined3d: Make the core extensions enabling table-based. 2015-07-13 22:06:38 +09:00
Matteo Bruni 4c0b1a5038 wined3d: Use GLSL 1.50 on core contexts. 2015-07-09 17:18:22 +09:00
Matteo Bruni a1e718ccab wined3d: Add a setting for the maximum OpenGL version to use. 2015-07-09 17:18:22 +09:00
Matteo Bruni 6521fc78be wined3d: Use the correct texture coordinates in swapchain_blit() in the non-glBlitFramebuffer, NP2 case. 2015-07-09 17:18:22 +09:00
Matteo Bruni 04a195a980 wined3d: Use a core-compatible GL format for ATI2N. 2015-07-07 21:04:12 +09:00
Matteo Bruni 8839e7fb94 wined3d: Use a lookup table to select the sampler function name. 2015-07-07 21:04:05 +09:00
Józef Kucia 4a8e0ec3d6 wined3d: Implement normals transformation for vertex blending. 2015-07-03 16:51:37 +09:00
Józef Kucia 1f680c52fe wined3d: Implement vertex blending in glsl_vertex_pipe. 2015-07-03 16:51:34 +09:00
Józef Kucia 1fc4a17175 wined3d: Show fixme about unimplemented vertex processing once. 2015-07-03 16:51:29 +09:00
Matteo Bruni 13ceb3fddc wined3d: Don't hardcode WINED3DPTEXTURECAPS_NONPOW2CONDITIONAL cap flag. 2015-07-03 16:51:27 +09:00
Matteo Bruni 4f57581310 wined3d: Improve NP2 fixups in GLSL PS texture sampling code. 2015-07-03 16:51:25 +09:00
Matteo Bruni a8fb1eee49 wined3d: Fix NP2 fixups in GLSL fragment FFP replacement. 2015-07-03 16:51:23 +09:00
Matteo Bruni 30031f6da4 wined3d: Replace an open-coded implementation of LIST_FOR_EACH_ENTRY_SAFE. 2015-07-03 16:51:21 +09:00
Matteo Bruni 93c88d34a8 wined3d: Fix GLSL backend with non-GLSL vertex and pixel pipeline combination.
That can only happen by manually modifying
select_vertex_implementation() and select_fragment_implementation(),
which may be useful for testing non-default vertex / fragment pipeline
implementations.
2015-07-03 16:51:17 +09:00
Matteo Bruni af55ae1379 wined3d: Don't flag WINED3D_SHADER_CONST_FFP_PROJ on transformed <-> untransformed vdecl change.
It's unnecessary since the vertex shader is going to change and
shader_glsl_select() flags all the constants used by the shader anyway.
2015-06-19 20:30:10 +09:00
Matteo Bruni 438f68cc38 wined3d: Drop unused gl_info parameter from shader_glsl_ffp_vertex_lighting(). 2015-06-19 20:30:07 +09:00
Matteo Bruni 498e55a182 wined3d: Make use of the EXT_BLEND_SUBTRACT flag.
MSDN mentions a fallback to D3DBLENDOP_ADD if the selected blendop
is not supported. In theory it would be nice to write a test for that but
I don't think this is particularly important and moreover hardware
without that cap seems hard to come by (i.e. I have none)...
2015-06-17 20:01:20 +09:00
Matteo Bruni 35a2406900 wined3d: Drop WINED3D_RS_TEXTUREPERSPECTIVE handling.
The hint is not supported on core profiles. It's not guaranteed to do
anything on compatibility profile either: "The interpretation of hints is
implementation dependent. An implementation may ignore them entirely."

This state was only available on D3D 7 and below (and not guaranteed to
do anything there either, according to older DX SDK docs).
If necessary we could implement it via the GLSL 1.50 "noperspective"
interpolation qualifier, which is what we need to use for the equivalent
D3D10 feature anyway.
2015-06-17 20:01:20 +09:00
Matteo Bruni f6e7e01744 wined3d: Cleanup and simplify texture sampling code generation.
Makes it easier to support the different names and syntax in GLSL 1.50
in the (hopefully) near future.
2015-06-17 20:01:19 +09:00
Matteo Bruni 170dca7741 wined3d: Handle per-vertex point size in the GLSL FFP replacement. 2015-06-17 20:01:19 +09:00
Henri Verbeet c9227bccc5 wined3d: Implement SM4 discard in the GLSL shader backend. 2015-06-15 22:10:35 +09:00
Henri Verbeet b4b2a29dec wined3d: Use surface_get_rect() in wined3d_surface_update_overlay(). 2015-06-15 22:10:35 +09:00
Matteo Bruni 4189d29776 wined3d: Avoid the builtin GLSL vertex attributes. 2015-06-12 21:23:12 +09:00
Stefan Dösinger 4e53faf77b wined3d: Disable the depth stencil on multisample mismatch. 2015-06-10 23:25:04 +09:00
Stefan Dösinger 985c061ad3 wined3d: Downgrade the framebuffer attachment FIXMEs to WARNs. 2015-06-09 22:09:58 +09:00
Stefan Dösinger 733d4b5ecc wined3d: Don't use depth textures without ARB_depth_texture. 2015-06-09 22:09:57 +09:00
Stefan Dösinger 28af7b407b wined3d: Require FBO attachability for render targets and depth stencils. 2015-06-09 22:09:57 +09:00
Stefan Dösinger 04c3c97072 wined3d: Set WINED3DFMT_FLAG_FBO_ATTACHABLE on depth stencil formats. 2015-06-09 22:09:57 +09:00
Stefan Dösinger e8ec01ad51 wined3d: Use renderbuffers if the resource type is RB. 2015-06-09 22:09:57 +09:00
Nikolay Sivov 68fcf9d7cf wined3d: dst_surface can't be NULL at this point (Coverity). 2015-06-08 18:51:54 +09:00
Stefan Dösinger dc7cb59c3a wined3d: Keep track of renderbuffer capabilities. 2015-06-08 18:51:30 +09:00
Stefan Dösinger c8d1a70804 wined3d: Set the gl resource type in resource_init. 2015-06-08 18:51:24 +09:00
Stefan Dösinger ec25ca7832 wined3d: Read format flags from the surface container. 2015-06-08 18:51:21 +09:00
Stefan Dösinger 4451bf477a wined3d: Read format flags from the volume container. 2015-06-08 18:51:13 +09:00
Matteo Bruni 614e52e897 wined3d: Don't use the builtin FFP uniforms for fog parameters. 2015-06-05 16:53:20 +09:00
Matteo Bruni b02a166cc8 wined3d: Introduce a get_fog_start_end() function. 2015-06-05 16:53:16 +09:00
Matteo Bruni 92fbe333d0 wined3d: Handle point sprites with PS 3.0. 2015-06-05 16:52:29 +09:00
Matteo Bruni c186939f32 wined3d: Clamp per-vertex point size in vertex shaders. 2015-06-03 19:52:22 +09:00
Matteo Bruni e8cb3bdba5 wined3d: Always enable GL_PROGRAM_POINT_SIZE in the GLSL backend.
Core contexts don't support clamping the point size to GL_POINT_SIZE_MIN
/ GL_POINT_SIZE_MAX.  Incidentally this mostly fixes per-vertex point
sizes for vertex shader version 1 and 2.
2015-06-03 19:52:14 +09:00
Nikolay Sivov 5daf08f2cb wined3d: Remove unnecessary test for 0 (Coverity). 2015-06-02 20:53:43 +09:00
Matteo Bruni 90af08c3b1 wined3d: Avoid the builtin uniforms for point size when using the fixed function vertex pipeline. 2015-05-29 16:44:24 +09:00
Matteo Bruni 953a45303c wined3d: Introduce a get_pointsize() function. 2015-05-29 16:44:18 +09:00
Matteo Bruni 36520c3e9d wined3d: Introduce a get_pointsize_minmax() function. 2015-05-29 16:44:13 +09:00
Matteo Bruni b551da8eef wined3d: Remove point size scaling hack.
Not sure how this was supposed to work, according to the GL spec the
clamping to POINT_SIZE_RANGE happens after the scaling is applied.
2015-05-29 16:44:05 +09:00
Stefan Dösinger 90d8896826 wined3d: Allow specifying a different depth stencil location.
This is for drivers that do not support depth stencil textures, but
happily support depth stencil renderbuffers.
2015-05-25 21:43:18 +09:00
Stefan Dösinger bd658a15b9 wined3d: Check resource types separately in check_fbo_compat. 2015-05-25 21:43:18 +09:00
Matteo Bruni 9586d3b256 wined3d: Make use of more specific device IDs with Nvidia binary drivers. 2015-05-21 20:52:04 +09:00
Matteo Bruni 83254963da wined3d: Add missing entries for Nvidia GPUs. 2015-05-21 20:52:01 +09:00
Matteo Bruni 5b911ed461 wined3d: Fix fragment shaders sampling directly into oC[n] in the ARB backend. 2015-05-20 17:29:09 +09:00
Matteo Bruni 409cda0ac2 wined3d: Dirtify vertex shader on transformed <-> untransformed transitions. 2015-05-20 17:29:05 +09:00
Stefan Dösinger d030c5ad06 wined3d: Don't allow 3D depth textures. 2015-05-19 22:56:14 +09:00
Stefan Dösinger 0356cbfab9 wined3d: Fix a copy / paste mistake. 2015-05-08 14:37:17 +09:00
Marcus Meissner d8a0f77c2b wined3d: Remove superflous check (Coverity). 2015-05-06 18:14:44 +09:00
Matteo Bruni 4b35cf730f wined3d: Fix the TIMESTAMP_DISJOINT query.
Spotted by Patrick Rudolph.
2015-05-05 18:51:10 +09:00
Matteo Bruni 2bab1f7250 wined3d: Check all the ffp_material fields.
The application can override each material parameter with one of the two
FFP vertex color attributes. The 'ambient' struct field in the GLSL shader
can thus happen to be unused and the GL driver may optimize it away.
2015-05-05 18:51:00 +09:00
Matteo Bruni 0c05f9f8fd wined3d: Rename *emission* as *emissive*.
Emission is the OpenGL name, emissive the D3D one. Prefer the latter.
2015-05-05 18:50:56 +09:00
Francois Gouget f129e2fbb1 wined3d: Add a trailing '\n' to a generated shader line. 2015-05-04 15:06:47 +09:00
Matteo Bruni 213f7d9f45 wined3d: Implement WINED3D_LIGHT_PARALLELPOINT support in the GLSL ffp. 2015-05-01 15:45:00 +09:00
Matteo Bruni 4388fb41e7 wined3d: Implement legacy light attenuation behavior in the GLSL vertex ffp. 2015-05-01 15:44:49 +09:00
Matteo Bruni f7e0927622 wined3d: Don't use the same va_list multiple times in shader_vaddline(). 2015-04-30 20:07:17 +09:00
Matteo Bruni 5af656ea85 wined3d: Allow texture updates in some cases even when mip levels don't match. 2015-04-30 20:07:08 +09:00
Matteo Bruni 15720f09de wined3d: Report ATI1N and ATI2N volume textures as not supported. 2015-04-30 19:58:01 +09:00
Matteo Bruni ca46914d07 wined3d: Use string_buffer_sprintf() in shader_glsl_generate_ffp_fragment_shader(). 2015-04-29 17:02:30 +09:00
Matteo Bruni 12e59c5278 wined3d: Use string_buffer_sprintf() in handle_ps3_input(). 2015-04-29 17:02:27 +09:00
Henri Verbeet da24b51139 wined3d: Don't try to apply format fixups for SM4+ shaders. 2015-04-29 12:24:36 +09:00
Matteo Bruni 28343db208 wined3d: Don't use the builtin FFP uniforms for the lights.
While at it, use D3D-like uniforms for the light parameters and
(consequently) implement range and proper D3D spotlights support.
2015-04-28 20:02:23 +09:00
Matteo Bruni e226e7593a wined3d: Use struct wined3d_vec4 to store the light position and direction. 2015-04-28 20:02:21 +09:00
Matteo Bruni 540130bfa9 wined3d: Store the directional light direction in the lightDirn field.
It's only an implementation detail that the direction needs to be passed
to the fixed function GL pipeline as GL_POSITION.
2015-04-28 20:02:18 +09:00
Matteo Bruni b5affa6d3c wined3d: Set spotlight direction .w component to 0.0f.
It's a direction so we don't want to get translations applied to it.
The variable is only used internally.
2015-04-28 20:02:12 +09:00
Henri Verbeet f09288cfc4 wined3d: Cleanup the sampler map in shader_cleanup() (Valgrind). 2015-04-28 15:34:12 +09:00
Henri Verbeet 4b86f13ade wined3d: Also free the input signature in shader_cleanup() (Valgrind). 2015-04-27 18:05:24 +09:00
Henri Verbeet 79f4ca9ec4 wined3d: Release the context before potentially destroying the swapchain in wined3d_device_uninit_3d() (Valgrind). 2015-04-27 18:05:22 +09:00
Stefan Dösinger 0152b0dad3 wined3d: Move the ARB_texture_rectangle check to init_format_texture_info. 2015-04-27 15:07:48 +09:00
Stefan Dösinger 0d6d64b358 wined3d: Move the ARB_texture_cube_map check to init_format_texture_info. 2015-04-27 15:07:46 +09:00
Stefan Dösinger 7109bebd02 wined3d: Move volume DXTn handling to apply_format_fixups. 2015-04-27 15:07:42 +09:00
Matteo Bruni 978fe23218 wined3d: Don't use the builtin FFP uniforms for the material. 2015-04-27 15:07:11 +09:00
Matteo Bruni 6984ca7f46 wined3d: Don't use the builtin FFP uniforms for texture transformation matrices. 2015-04-27 15:07:06 +09:00
Matteo Bruni 84ca0203bf wined3d: Introduce a scratch string buffers framework. 2015-04-27 15:07:03 +09:00
Matteo Bruni 54b4df6731 wined3d: Reduce initial wined3d_string_buffer buffer size to 32.
Also try to avoid unnecessary HeapReAlloc() + vsnprintf() loops when we
know the required size of the buffer.
2015-04-27 15:06:58 +09:00
Matteo Bruni 64463b81df wined3d: Rename struct wined3d_shader_buffer to wined3d_string_buffer.
Also rename the shader_buffer_(clear|init|free) functions.
2015-04-27 15:06:55 +09:00
Stefan Dösinger 072e1a3fb2 wined3d: Move the EXT_texture3D check to init_format_texture_info. 2015-04-24 19:08:45 +09:00
Stefan Dösinger 9def5ff409 wined3d: Query info for each resource type from ARB_internalformat_query2. 2015-04-24 19:08:41 +09:00
Stefan Dösinger e4e1e7d8d3 wined3d: Read flags of the right resource type in check_device_format. 2015-04-24 19:08:39 +09:00
Stefan Dösinger 3c0ed9ce0a wined3d: Introduce resource-type specific format flags. 2015-04-24 19:08:35 +09:00
Matteo Bruni 53ff2a9d22 wined3d: Drop the ARB_SHADER_OBJECTS extension flag.
The flag is currently unused and also unnecessary since both
ARB_vertex_shader and ARB_fragment_shader specs require
ARB_shader_objects support.
2015-04-24 19:08:15 +09:00
Matteo Bruni 7928ffaca5 wined3d: Drop glPrioritizeTextures() call.
It's not supported on core profiles and I doubt it matters anyway.
For the records, the default value is 1 so this was actually lowering
the priority for DEFAULT pool textures.
2015-04-24 19:08:10 +09:00
Matteo Bruni d6db6c7295 wined3d: Fix specular lighting for non-local viewer.
The viewer is in the (0.0, 0.0, -1.0) direction in the D3D coordinate
system.
2015-04-24 19:08:01 +09:00
Matteo Bruni b963c73abb wined3d: Introduce D3D7+ normal matrix computation. 2015-04-24 19:07:52 +09:00
Henri Verbeet cfd280fd66 wined3d: Get rid of the tracing code in shader_vaddline(). 2015-04-24 14:29:39 +09:00
Henri Verbeet dd2398297c wined3d: Simplify shader_arb_dump_program_source(). 2015-04-24 14:29:32 +09:00
Stefan Dösinger 4fbaab2020 wined3d: Shadow format flags in wined3d_rendertarget_view. 2015-04-23 20:43:20 +09:00
Francois Gouget 6f6dfe91d6 wined3d: Make glsl_vertex_pipe_view() static. 2015-04-23 20:43:19 +09:00
Stefan Dösinger 9076612e2d wined3d: Shadow format flags in the resource. 2015-04-22 23:24:41 +09:00
Henri Verbeet 6e4ad78ff4 wined3d: Slightly simplify get_info_log_line(). 2015-04-21 23:44:59 +09:00
Henri Verbeet de1450788b wined3d: Completely initialize "correction_params" in shader_glsl_load_constants() (Valgrind).
Leaving the last two elements uninitialized is mostly harmless since the
shader doesn't actually use them, but the driver might try to do some kind of
analysis on them.
2015-04-21 22:22:00 +09:00
Henri Verbeet c7780791ea wined3d: Introduce a function to compile ARB vertex/fragment programs. 2015-04-21 22:21:56 +09:00
Henri Verbeet 8063d4cfcc wined3d: Initialize "type.padding" in arbfp_blit_set() (Valgrind). 2015-04-21 22:21:52 +09:00
Henri Verbeet 8b6cddbe25 wined3d: Get rid of context_invalidate_active_texture().
Calling wined3d_texture_bind() + context_invalidate_active_texture() is
equivalent to just calling wined3d_texture_bind_and_dirtify().
2015-04-16 20:44:43 +09:00
Henri Verbeet dcaaf915f8 wined3d: Use wined3d_texture_bind_and_dirtify() in wined3d_texture_upload_data(). 2015-04-16 20:44:41 +09:00
Henri Verbeet 5c9da580a8 wined3d: Use wined3d_texture_bind_and_dirtify() in device_update_volume().
I missed this in 7c4d512fee. Generally speaking,
the only places where plain wined3d_texture_bind() calls are appropriate are
places where you're binding the texture to a specific stage for a subsequent
draw. I.e., places where context_active_texture() is called first.
2015-04-16 20:44:37 +09:00
Henri Verbeet 52478e3809 wined3d: Bind the texture before calling wined3d_volume_upload_data() in wined3d_volume_load_location(). 2015-04-16 20:44:31 +09:00
Henri Verbeet aad0ab8101 wined3d: Properly handle WINED3DSIH_DP2 in the GLSL shader backend. 2015-04-15 22:21:59 +09:00
Henri Verbeet a37099e132 wined3d: Bind sampler objects to the correct texture stage.
On current hardware this generally only makes a difference for vertex
textures. This fixes a regression introduced by commit
c6232e1d11.
2015-04-15 22:21:58 +09:00
Henri Verbeet dc53f6c2e6 wined3d: Use the display format if WINED3DFMT_UNKNOWN is passed as backbuffer format for windowed mode resets. 2015-04-15 22:21:58 +09:00
Stefan Dösinger 27209c69a9 wined3d: Call arbfp_blit_surface and ffp_blit_blit_surface through the blit interfaces. 2015-04-15 22:21:58 +09:00
Stefan Dösinger 6b455e74a0 wined3d: Move fixed function draw blits out of surface_blt_special. 2015-04-15 22:21:58 +09:00
Stefan Dösinger f84d741cb3 wined3d: Implement color keying in the ARB fixed function pipeline. 2015-04-15 22:21:58 +09:00
Stefan Dösinger 483d9550c4 wined3d: Use finer grained colorkey state invalidation. 2015-04-15 22:21:58 +09:00
Stefan Dösinger 382fa588a9 wined3d: Handle color key dirtification in wined3d_cs_exec_set_texture. 2015-04-15 22:21:57 +09:00
Joachim Priesner 8fff427bc0 wined3d: Load ModelView matrix for glLightfv calls.
Analogous to the light() function in state.c, the correct ModelView
matrix has to be loaded when glLightfv is called.
2015-04-13 16:41:48 +09:00
Stefan Dösinger c5c7137212 wined3d: Simplify alpha test and color keying in GLSL. 2015-04-10 21:44:13 +09:00