Józef Kucia
ee77e1789c
wined3d: Recognize SM4 dcl_temps 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-26 22:32:41 +09:00
Józef Kucia
4cec8df5ee
wined3d: Add support for WINED3DFMT_R8G8B8A8_UINT 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-01-26 22:32:40 +09:00
Józef Kucia
e8a35314ab
wined3d: Recognize SM4 resinfo 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-19 00:10:54 +09:00
Józef Kucia
17bd3ee7b4
wined3d: Recognize SM4 ineg 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-12 16:04:17 +09:00
Józef Kucia
3df7e0bbbe
wined3d: Recognize SM4 ine 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-12 16:04:12 +09:00
Józef Kucia
c005571238
wined3d: Recognize SM4 imad 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-12 16:04:07 +09:00
Józef Kucia
893619dfcd
wined3d: Recognize SM4 ilt 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-12 16:04:02 +09:00
Józef Kucia
5b5efd552e
wined3d: Recognize SM4 ftou 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-12 16:03:53 +09:00
Józef Kucia
5ca86ca4ee
wined3d: Record texture accesses for SM4 ld instruction.
...
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-06 18:08:36 +01:00
Józef Kucia
3193505f9f
wined3d: Maintain default sampler per device.
...
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-06 18:08:36 +01:00
Henri Verbeet
4287054943
wined3d: Get rid of GL_APPLE_client_storage support.
...
Once upon a time this extention helped reduce address space usage on MacOS,
although at the cost of obscure driver bugs. These days it just seems to make
things worse.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-05 15:45:26 +01:00
Józef Kucia
62658ec5b8
wined3d: Add support for buffers in wined3d_device_update_sub_resource().
...
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-05 11:51:01 +01:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Henri Verbeet
2773b27bb1
wined3d: Use unsigned mask constants in shifts.
2015-08-26 23:53:22 +09:00
Stefan Dösinger
1a965811f6
wined3d: Add a slop for color keying.
2015-08-24 20:42:20 +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
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
f2989a2522
wined3d: Only install emulation wrappers when required.
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
53d1527945
wined3d: Avoid glBegin() / glEnd() in check_fbo_compat() when possible.
2015-07-28 13:41:46 +02:00
Matteo Bruni
a1e718ccab
wined3d: Add a setting for the maximum OpenGL version to use.
2015-07-09 17:18:22 +09:00
Józef Kucia
1f680c52fe
wined3d: Implement vertex blending in glsl_vertex_pipe.
2015-07-03 16:51:34 +09:00
Matteo Bruni
170dca7741
wined3d: Handle per-vertex point size in the GLSL FFP replacement.
2015-06-17 20:01:19 +09:00
Matteo Bruni
4189d29776
wined3d: Avoid the builtin GLSL vertex attributes.
2015-06-12 21:23:12 +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
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
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
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
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
Matteo Bruni
83254963da
wined3d: Add missing entries for Nvidia GPUs.
2015-05-21 20:52:01 +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
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
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
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
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
3c0ed9ce0a
wined3d: Introduce resource-type specific format flags.
2015-04-24 19:08:35 +09:00
Henri Verbeet
cfd280fd66
wined3d: Get rid of the tracing code in shader_vaddline().
2015-04-24 14:29:39 +09:00
Stefan Dösinger
4fbaab2020
wined3d: Shadow format flags in wined3d_rendertarget_view.
2015-04-23 20:43:20 +09:00
Stefan Dösinger
9076612e2d
wined3d: Shadow format flags in the resource.
2015-04-22 23:24:41 +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
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
382fa588a9
wined3d: Handle color key dirtification in wined3d_cs_exec_set_texture.
2015-04-15 22:21:57 +09:00
Stefan Dösinger
5c7707dc77
wined3d: Move alpha test states to the fragment pipeline.
...
This will allow some color keying cleanups. For Core Contexts we'll have
to emulate alpha testing in shaders anyway.
2015-04-10 21:44:01 +09:00
Stefan Dösinger
f4b6874491
wined3d: Match blitter and fragment processing color keying capabilities.
...
This is necessary if e.g. the nvts or ffp fragment processing pipeline
is selected for debugging purposes on a GPU that otherwise supports the
ARB program blitter.
2015-04-10 21:43:51 +09:00
Stefan Dösinger
5d51c97d07
wined3d: Implement color keying in the glsl fragment pipeline.
2015-04-10 21:43:31 +09:00
Stefan Dösinger
2d56694445
wined3d: Implement color keying in arbfp_blit.
2015-04-10 21:43:12 +09:00
Stefan Dösinger
82db5954c4
wined3d: Set color keys through the command stream.
2015-04-10 21:42:41 +09:00
Maxime Lombard
086d2af629
wined3d: Add support for Nvidia GTX 970M.
2015-04-10 21:42:27 +09:00
Stefan Dösinger
fa0a9232e0
wined3d: Move surface_convert_color_to_float to utils.c.
2015-04-07 23:10:30 +09:00
Stefan Dösinger
844c4efb47
wined3d: Give tex_type and its values a better name.
2015-04-03 00:33:28 +09:00
Henri Verbeet
94967c28b9
wined3d: Add support for half-integer pixel centers.
...
Like in OpenGL and Direct3D 10+.
2015-03-30 19:10:29 +09:00
Matteo Bruni
05757794a0
wined3d: Don't use the builtin FFP uniform for the projection matrix.
2015-03-27 20:40:38 +09:00
Stefan Dösinger
239e8cad7c
wined3d: Add per-context private data for fragment pipelines.
2015-03-24 20:06:15 +09:00
Henri Verbeet
1b08196c5a
wined3d: Implement d3d10 style instance data step rates.
2015-03-24 17:41:06 +09:00
Matteo Bruni
74cda79ac3
wined3d: Introduce a get_texture_matrix() function.
2015-03-23 22:59:20 +09:00
Matteo Bruni
2d270f31c6
wined3d: Introduce a get_projection_matrix() function.
...
Notice that I'm using floats instead of doubles in the new function,
mostly to be able to use struct wined3d_matrix and multiply_matrix().
At a rough estimate the precision should still be good enough.
2015-03-23 22:59:19 +09:00
Matteo Bruni
65c8c40b18
wined3d: Use a separate STATE_VIEWPORT state handler in the GLSL pipeline.
2015-03-23 22:59:18 +09:00
Henri Verbeet
002713de6d
wined3d: Store shader input signatures as a wined3d_shader_signature structure.
2015-03-23 22:59:08 +09:00
Henri Verbeet
2e5ad1b6e3
wined3d: Store shader output signatures as a wined3d_shader_signature structure.
...
Instead of a fixed array of wined3d_shader_signature_element structures.
Shader model 4 shaders can have different semantics in a single
register, e.g. v1.xy TEXCOORD0 and v1.zw TEXCOORD1, so having a single
wined3d_shader_signature_element structure per register isn't
necessarily sufficient.
2015-03-23 22:59:07 +09:00
Henri Verbeet
ba396e4212
wined3d: Simplify the wined3d_matrix structure.
2015-03-20 21:32:46 +09:00
Matteo Bruni
9811d85141
wined3d: Don't use the builtin FFP uniform for the modelview matrix.
2015-03-19 20:56:59 +09:00
Matteo Bruni
425dc69fef
wined3d: Use a separate STATE_TRANSFORM(WINED3D_TS_VIEW) state handler in the GLSL pipeline.
2015-03-19 20:56:56 +09:00
Matteo Bruni
99f3e835ac
wined3d: Use a separate STATE_VDECL state handler in the GLSL pipeline.
...
It's mostly a copy of vertexdeclaration() from state.c, with a few
differences due to the new function being private to the GLSL backend
(e.g. d3d_info.vs_clipping is known to be TRUE) and the fragment fog
update part being split out.
2015-03-19 20:56:50 +09:00
Matteo Bruni
50861156e2
wined3d: Introduce a get_modelview_matrix() function.
2015-03-19 20:56:45 +09:00
Matteo Bruni
fe4a226bfa
wined3d: Introduce a get_identity_matrix() function.
2015-03-19 20:56:42 +09:00
Stefan Dösinger
e53d22b0c0
wined3d: Manage color key changes in the texture.
...
This fixes a regression with color keyed mipmaps that was introduced by
ee8a5b7dd1
. surface_load for level n+1
would call texture_force_reload, thus removing level n from the GL
texture.
2015-02-18 22:02:33 +09:00
Henri Verbeet
849149d5d3
wined3d: Add support for appending vertex declaration elements.
2015-02-13 18:53:17 +09:00
Henri Verbeet
e4cb3b5081
wined3d: Recognize the SM4 or opcode.
2015-02-11 23:05:17 +09:00
Henri Verbeet
3225fea30c
wined3d: Recognize the SM4 ne opcode.
2015-02-11 23:05:13 +09:00
Matteo Bruni
20e61b396e
wined3d: Use unsigned short for the bitfields in struct color_fixup_desc.
2015-02-11 22:21:28 +09:00
Henri Verbeet
2e5abc156a
wined3d: Implement WINED3DSIH_SAMPLE in the GLSL shader backend.
2015-01-19 14:31:32 +01:00
Henri Verbeet
c6232e1d11
wined3d: Create GL sampler objects for wined3d sampler objects.
2015-01-15 17:24:43 +01:00
Henri Verbeet
5231113fc7
wined3d: Replace wined3d_texture_apply_state_changes() with wined3d_texture_apply_sampler_desc().
2015-01-15 17:24:38 +01:00
Henri Verbeet
86e99abb12
wined3d: Store a struct wined3d_sampler_desc in struct gl_texture.
...
Instead of a enum wined3d_texture_state array.
2015-01-15 17:24:35 +01:00
Henri Verbeet
4b480f5519
wined3d: Introduce struct wined3d_sampler_desc.
2015-01-15 17:24:32 +01:00
Henri Verbeet
ea534c9ab4
wined3d: Allow initial texture contents to be specified with wined3d_texture_create().
2015-01-05 20:15:35 +01:00
Henri Verbeet
af9ccb490a
ddraw: Use wined3d_log2i() to calculate the level count in ddraw_surface_create().
2014-12-10 19:32:08 +01:00
Henri Verbeet
3aa9fe6bef
wined3d: Record the data type of shader resources.
2014-12-03 11:14:25 +01:00
Henri Verbeet
f7e485dcf4
wined3d: Handle SM4 resource declarations.
2014-12-03 11:14:23 +01:00
Henri Verbeet
f5cef43738
wined3d: Store resource types instead of sampler types in struct wined3d_shader_reg_maps.
...
The difference doesn't really matter for SM1-3 since resources and samplers
are always tied together, but in SM4 they're separate.
2014-12-03 11:14:21 +01:00
Henri Verbeet
0e8f2786e9
wined3d: Keep a reference to the resource in shader resource views.
2014-12-01 11:00:23 +01:00
Stefan Dösinger
f6dde70624
wined3d: Restore the display mode on focus change.
2014-11-19 17:56:44 +09:00
Caron Wills
9f36db8fa5
wined3d: Add NVIDIA GeForce GTX 970 to supported device list.
2014-11-18 22:08:53 +09:00
Henri Verbeet
8c18ebf66a
wined3d: Recognize the SM4 uge opcode.
2014-11-17 19:30:37 +09:00
Stefan Dösinger
45d530461b
wined3d: Minimize device windows on focus loss.
2014-11-17 17:36:12 +09:00
Jonas Maebe
3a7bf90f66
wined3d: Add NVIDIA Geforce GT 750M to supported device list.
2014-11-14 21:30:36 +09:00
Matteo Bruni
2dd237e200
wined3d: Dirtify pixel shader on texture format change.
2014-11-04 21:15:57 +09:00
Henri Verbeet
d74fe031f9
wined3d: Calculate the SM4 output mapping in shader_sm4_init().
2014-11-04 16:54:30 +09:00
Henri Verbeet
909c5cc6fa
wined3d: Make a copy of shader signature string data.
2014-11-04 16:54:27 +09:00
Matteo Bruni
e789fadd56
wined3d: Don't replicate shader limits values for each shader.
2014-10-16 21:23:26 +09:00
Henri Verbeet
1800712298
wined3d: Track texture coordinate normalization per-texture.
2014-10-09 17:36:21 +02:00
Henri Verbeet
c5459881a3
wined3d: Track SFLAG_DYNLOCK per-texture.
2014-10-09 17:36:21 +02:00
Henri Verbeet
d6a511e022
wined3d: Track system memory pinning per-texture.
2014-10-09 17:36:21 +02:00
Henri Verbeet
710694d9ca
wined3d: Track format conversion per-texture.
2014-10-08 13:13:37 +02:00
Henri Verbeet
ee8a5b7dd1
wined3d: Track texture allocation per-texture.
2014-10-08 13:13:37 +02:00
Henri Verbeet
0c0a2adc71
wined3d: Handle GL texture allocation in the texture code.
2014-10-08 13:13:37 +02:00
Henri Verbeet
77646173a0
wined3d: Move the color key conversion helpers to util.c.
2014-10-08 13:13:37 +02:00
Henri Verbeet
6da1cff518
wined3d: Get rid of d3dfmt_convert_surface().
2014-10-07 20:22:06 +02:00
Henri Verbeet
90e3312c8c
wined3d: Use a more consistent naming for wined3d_conversion_type elements.
2014-09-30 17:35:56 +02:00
Henri Verbeet
2d5c8aff3c
wined3d: Get rid of SFLAG_DONOTFREE.
2014-09-29 10:37:37 +02:00
Henri Verbeet
97856bcfee
wined3d: Replace wined3d_surface_update_desc() with wined3d_texture_update_desc().
2014-09-29 10:37:35 +02:00
Henri Verbeet
a3daed9604
d3d10core: Implement d3d10_device_GetPredication().
2014-09-19 10:49:24 +02:00
Henri Verbeet
fdf60e51fc
d3d10core: Implement d3d10_device_SetPredication().
2014-09-19 10:49:11 +02:00
Henri Verbeet
1e434b52d0
d3d10core: Implement d3d10_device_VSSetShaderResources().
2014-09-16 12:24:59 +02:00
Henri Verbeet
e01d207699
d3d10core: Create wined3d views for shader resource views.
2014-09-16 12:24:50 +02:00
Johannes Brandstätter
de3cb3af6f
wined3d: Fix trace output of emulated_textureram.
2014-09-02 15:07:09 +02:00
Stefan Dösinger
b52214a288
wined3d: Move volume flags to volume.c.
2014-08-26 14:46:53 +02:00
Stefan Dösinger
7a1533a41c
wined3d: Replace VFLAG_PBO with resource->map_binding.
2014-08-26 14:46:51 +02:00
Henri Verbeet
07985a8c38
wined3d: Use rendertarget views for depth/stencil buffers instead of surfaces.
...
I don't think the difference between d3d10 depth/stencil and rendertarget
views is large enough to justify a separate type. Unfortunately that does make
the name "wined3d_rendertarget_view" slightly awkward.
2014-08-22 12:53:11 +02:00
Henri Verbeet
b005ad6f90
wined3d: Use rendertarget views for color output instead of surfaces.
2014-08-21 12:24:42 +02:00
Henri Verbeet
fb7135efd1
wined3d: Introduce struct wined3d_rendertarget_view_desc.
2014-08-21 12:24:28 +02:00
Henri Verbeet
eb24c9578c
wined3d: Keep a reference to the resource in rendertarget views.
2014-08-21 12:24:21 +02:00
Henri Verbeet
d3387cf77b
wined3d: Keep a reference to the backbuffer textures instead of the surfaces in the swapchain.
2014-08-20 13:29:53 +02:00
Henri Verbeet
ec87407e7c
wined3d: Keep a reference to the frontbuffer texture instead of the surface in the swapchain.
2014-08-20 13:29:52 +02:00
Henri Verbeet
aa7016054a
wined3d: Move the "swapchain" field from struct wined3d_surface to struct wined3d_texture.
2014-08-20 13:29:47 +02:00
Henri Verbeet
1ce3269ac1
wined3d: Replace surface_update_draw_binding() with wined3d_resource_update_draw_binding().
2014-08-20 13:29:45 +02:00
Henri Verbeet
f753ff90be
wined3d: Replace surface_is_offscreen() with wined3d_resource_is_offscreen().
...
Introducing rendertarget views will (eventually) allow rendering to 3D
textures and buffers.
2014-08-19 14:49:39 +02:00
Henri Verbeet
694cdcc41c
wined3d: Move the "map_binding" field from struct wined3d_surface to struct wined3d_resource.
...
Like "draw_binding".
2014-08-19 14:49:36 +02:00
Henri Verbeet
ed230a426a
wined3d: Explicitly destroy the surface in texture2d_sub_resource_cleanup().
...
Like volumes. We can do this now because we no longer have standalone
surfaces.
2014-08-19 14:49:32 +02:00
Henri Verbeet
64a1fde181
wined3d: Explicitly destroy the volume in texture3d_sub_resource_cleanup().
...
The texture always has the only reference to its subresources. This also means
we never have to set the container to NULL.
2014-08-19 14:49:30 +02:00
Henri Verbeet
df59ac1d0c
wined3d: Recognize some more AMD cards.
2014-08-19 14:49:24 +02:00
Henri Verbeet
7cdaece711
wined3d: Store the amount of video memory as a UINT64.
2014-08-18 12:47:13 +02:00
Henri Verbeet
5ef8e97414
wined3d: Move the "draw_binding" field from struct wined3d_surface to struct wined3d_resource.
2014-08-04 14:23:52 +02:00
Henri Verbeet
d079066f5d
wined3d: Get rid of the get_drawable_size() callback in struct wined3d_surface.
2014-08-04 14:23:49 +02:00
Henri Verbeet
80bca9bc9c
wined3d: Add constant buffer support to the GLSL shader backend.
2014-08-04 14:23:29 +02:00
Stefan Dösinger
cf11933701
wined3d: Remove wined3d_buffer_set/get_priority.
2014-07-16 16:10:01 +02:00
Henri Verbeet
68339456a8
wined3d: Always mark vertex buffers as used in context_apply_draw_state().
...
The issue this solves is that buffer_internal_preload() is only called when
STATE_VDECL or STATE_STREAMSRC is invalidated, but that doesn't happen for
regular buffer maps. We'd like to be able to just call
buffer_internal_preload() here, but buffer_internal_preload() has dependencies
on context_stream_info_from_declaration() and vice versa.
2014-07-14 19:26:17 +02:00
Stefan Dösinger
9d49b7a9be
wined3d: Set palettes on the swapchain.
2014-06-30 22:04:53 +02:00
Stefan Dösinger
3909215773
wined3d: Remove d3dfmt_p8_init_palette.
2014-06-11 16:14:38 +02:00
Henri Verbeet
7b8aa8606c
wined3d: Recognize the SM4 ishl opcode.
2014-05-20 09:44:25 +02:00
Henri Verbeet
3555eab8b9
wined3d: Recognize the SM4 dp2 opcode.
2014-05-20 09:44:21 +02:00
Stefan Dösinger
bfb5be0f4b
wined3d: Remove WINED3D_CT_PALETTED_CK.
...
There's no difference between WINED3D_CT_PALETTED_CK and
WINED3D_CT_PALETTED with the palette index in the alpha channel.
2014-05-14 13:29:58 +02:00
Stefan Dösinger
c1cca63e5d
wined3d: Always store the palette index in the alpha component.
2014-05-14 13:29:52 +02:00
Stefan Dösinger
1558391a11
wined3d: Store RGBQUADs in palettes.
2014-05-07 20:21:56 +02:00
Stefan Dösinger
39212d2ffb
wined3d: Remove broken gdi palette code.
2014-05-02 16:32:54 +02:00
André Hentschel
84c63435b4
wined3d: Add NVIDIA Geforce GTX 780 Ti to supported device list.
2014-04-23 17:31:17 +02:00
Henri Verbeet
5cf9fe1c63
wined3d: Get rid of surface_set_texture_target().
2014-04-23 15:00:46 +02:00
Henri Verbeet
81fb749ecf
wined3d: Introduce a separate function to calculate the pitch for a given format and width.
2014-04-23 15:00:14 +02:00
Andrew Sheldon
5ef54904f2
wined3d: Add NVIDIA Geforce GTX 780 to supported device list.
2014-04-21 17:08:04 +02:00
Matteo Bruni
a1784d9ed9
wined3d: Add support for timestamp queries.
2014-04-17 13:53:00 +02:00
Ryan Turner
a69c488f08
wined3d: Add NVIDIA Geforce GTX 750 to device list.
2014-04-11 17:04:06 +02:00
Ryan Turner
ed51082dd6
wined3d: Add NVIDIA Geforce GTX 760 to device list.
2014-04-09 19:17:21 +02:00
Stefan Dösinger
ebd5f96aea
wined3d: Remove resource private data methods.
2014-03-24 20:20:18 +01:00
Ken Thomases
f3aa481238
wined3d: Track if a context's private hdc has had its pixel format set, so we don't need to check it.
2014-03-24 20:20:14 +01:00
Ken Thomases
272873823e
wined3d: Track if a context's hdc is private so we never need to restore its pixel format.
...
This currently only applies to the swapchain backup DC, but it will soon be
used for surfaces created using the WGL_WINE_surface extension. Also, there
are a couple of cases where ddraw creates private windows and passes them in.
It could be extended to those.
2014-03-24 20:20:13 +01:00
Stefan Dösinger
938529e1f9
wined3d: Remove the version parameter.
2014-03-20 19:04:37 +01:00
Stefan Dösinger
6a34d4b40f
wined3d: Decouple private data from the resource structure.
2014-03-14 18:54:48 +01:00
Henri Verbeet
720f686874
wined3d: Recognize VMware SVGA3D.
...
Unfortunately I was only able to test this by overriding the GL_RENDERER and
GL_VENDOR strings returned by the driver.
2014-03-05 11:49:53 +01:00
Ken Thomases
4c4552c5a1
wined3d: Restore the pixel format of the window whose pixel format was actually changed.
2014-02-22 08:41:55 -06:00
Ken Thomases
baa85a097a
wined3d: Use a separate flag to track if the GL context needs to be made current.
...
The new needs_set flag can be cleared after it's been heeded whereas restore_ctx
must not be cleared until the context has been released back to level 0.
2014-02-22 08:41:47 -06:00
Martin Storsjo
171529106b
wined3d: Add support for NV12 textures.
2014-02-17 20:16:29 +01:00
Stefan Dösinger
b81e560531
wined3d: Migrate surfaces to the new location flags.
2014-01-17 18:10:10 +01:00
Stefan Dösinger
beb64c9998
wined3d: Separate surface locations and flags.
2014-01-17 18:10:08 +01:00
Stefan Dösinger
00923cb50c
wined3d: Remove surface_ops->map.
2014-01-17 18:10:05 +01:00
Stefan Dösinger
10a8b2cd7f
wined3d: Remove resource->allocatedMemory.
2014-01-16 21:04:19 +01:00
Stefan Dösinger
2b8e900ac4
wined3d: Give buffers their own location.
2014-01-15 20:03:53 +01:00
Stefan Dösinger
321cd8e825
wined3d: Decide about PBO use at surface creation time.
2014-01-15 20:03:47 +01:00
Stefan Dösinger
7c052171d6
wined3d: Remove SFLAG_PBO.
2014-01-15 20:03:35 +01:00
Stefan Dösinger
adf0ab2ad8
wined3d: Give the DIB section its own location.
2014-01-14 20:18:24 +01:00
Stefan Dösinger
353b3ba6d3
wined3d: Don't lock directly into the DIB.
2014-01-14 20:18:22 +01:00
Stefan Dösinger
e2c0bc63cb
wined3d: Start to split up surface_prepare_system_memory.
2014-01-13 18:41:15 +01:00
Stefan Dösinger
676a7f2140
wined3d: Make the callers of load_location responsible for allocating sysmem.
2014-01-13 18:41:09 +01:00
Stefan Dösinger
965d00f4b6
wined3d: Give user memory its own location.
2014-01-10 17:59:16 +01:00
Stefan Dösinger
1046551c34
wined3d: Add a map_binding field to surfaces.
...
Buffers, heap memory, user memory and DIBs will have their own
locations. This field specifies which location is used when the surface
is mapped.
2014-01-10 17:56:24 +01:00
Henri Verbeet
5dd286d05a
wined3d: Make rebind_fbo in struct wined3d_context a bitfield.
2014-01-10 12:06:13 +01:00
Stefan Dösinger
db6d3c500c
wined3d: Remove SFLAG_USERPTR.
2014-01-09 17:39:53 +01:00
Henri Verbeet
4710c4b51a
wined3d: Store color keys in textures instead of in surfaces.
2014-01-09 15:50:39 +01:00
Henri Verbeet
4d93adf75e
wined3d: Reset the command stream state as well in wined3d_device_reset().
2014-01-09 15:50:25 +01:00
Henri Verbeet
2401a82bdc
wined3d: Get rid of the unused screen_palents field in struct wined3d_palette.
2014-01-08 14:34:12 +01:00
Stefan Dösinger
1e9fe22f4c
wined3d: Fix an msvc warning.
2014-01-01 20:45:25 +01:00
Stefan Dösinger
fb75292875
wined3d: Don't store user memory in allocatedMemory.
2013-12-13 16:55:30 +01:00
Henri Verbeet
1f0bb534ec
ddraw: Keep a reference to the palette in the surface.
2013-12-12 12:08:16 +01:00
Nikolay Bogoychev
34ad4c7014
wined3d: Recognize GeForce GTX 765M.
2013-12-06 16:46:33 +01:00
Nikolay Bogoychev
48de52e2e0
wined3d: Recognize Haswell mobile graphics 4600.
2013-12-06 16:46:27 +01:00
Henri Verbeet
36dbac6cb8
wined3d: Set the volume container in volume_init().
2013-12-06 13:14:52 +01:00
Henri Verbeet
5db26f7b45
wined3d: Pass a wined3d_resource_desc structure to volume_init().
2013-12-06 13:14:52 +01:00
Henri Verbeet
15c1a26b55
wined3d: Create volumes inside wined3d.
2013-12-06 13:14:52 +01:00
Henri Verbeet
da3549315f
wined3d: Get rid of the buffer_object_size field from struct wined3d_buffer.
2013-12-06 13:14:52 +01:00
Stefan Dösinger
6d0d018bfa
wined3d: Don't store PBO pointers in allocatedMemory.
2013-11-27 17:14:32 +01:00
Stefan Dösinger
eb446e8640
wined3d: Use the pointer returned by map in wined3d_surface_getdc.
2013-11-26 17:15:25 +01:00
Henri Verbeet
f6b5dc246a
wined3d: Get rid of the WINED3DSRGB enum.
2013-11-22 11:37:29 +01:00
Henri Verbeet
7427b72250
wined3d: Get rid of surface_internal_preload().
2013-11-22 11:37:24 +01:00
Henri Verbeet
e0beab8b81
wined3d: Merge texture2d_preload() and texture3d_preload() into wined3d_texture_load().
2013-11-22 11:37:20 +01:00
Henri Verbeet
c025b5d06b
wined3d: surface_load() should never fail.
2013-11-22 11:37:07 +01:00
Henri Verbeet
f91eab6d3e
wined3d: Merge surface_bind_and_dirtify() and volume_bind_and_dirtify() into wined3d_texture_bind_and_dirtify().
2013-11-21 13:36:35 +01:00
Henri Verbeet
6b90248aec
wined3d: Merge texture2d_bind() and texture3d_bind() into wined3d_texture_bind().
2013-11-21 13:36:29 +01:00
Stefan Dösinger
0ff0a6e9bc
wined3d: Remove surface->dirtyRect.
2013-11-20 16:54:39 +01:00
Stefan Dösinger
047ce3af6e
wined3d: Remove partial surface update support.
...
This has only ever worked for render targets, and only through the
glDrawPixels codepath, which was removed long ago.
2013-11-20 16:54:39 +01:00
Stefan Dösinger
5d4233378d
wined3d: Remove broken ddraw overlay support.
2013-11-20 16:54:39 +01:00
Henri Verbeet
7e72985358
wined3d: wined3d_texture_bind() should never fail.
2013-11-20 11:28:23 +01:00
Henri Verbeet
7e8897b7b8
wined3d: Get rid of the redundant texture_name and texture_name_srgb fields in struct wined3d_surface.
2013-11-20 11:28:22 +01:00
Henri Verbeet
505951e32d
wined3d: Create a proper texture for the software cursor.
2013-11-18 11:20:40 +01:00
Henri Verbeet
42f6ca821c
wined3d: Set the surface container in surface_init().
2013-11-15 12:00:32 +01:00
Henri Verbeet
bb00811d60
wined3d: Pass a wined3d_resource_desc structure to surface_init().
2013-11-15 12:00:30 +01:00
Henri Verbeet
afc3d2ab70
wined3d: Create surfaces inside wined3d.
2013-11-15 12:00:26 +01:00
Henri Verbeet
94509fbd59
wined3d: Create a texture for the logo surface.
2013-11-14 16:21:02 +01:00
Henri Verbeet
3ad8989614
wined3d: Introduce a function for safely releasing a DC.
2013-11-04 11:05:43 +01:00
Adam Bolte
66a559328a
wined3d: Add support for nVidia GTX 660M.
2013-10-14 17:26:15 +02:00
Henri Verbeet
1419d7389c
wined3d: Send stream output binding updates through the command stream.
2013-10-11 11:06:20 +02:00
Henri Verbeet
f699b6da0b
wined3d: Send sampler binding updates through the command stream.
2013-10-11 11:06:18 +02:00
Henri Verbeet
738de80d0c
wined3d: Send constant buffer binding updates through the command stream.
2013-10-11 11:06:15 +02:00
Henri Verbeet
392a65fe09
wined3d: Unify sampler binding points.
2013-10-10 10:45:00 +02:00
Henri Verbeet
3caefc8337
wined3d: Unify constant buffer binding points.
2013-10-10 10:44:57 +02:00
Henri Verbeet
c228ffbaf0
wined3d: Unify shader binding points.
2013-10-10 10:44:53 +02:00
Stefan Dösinger
86d63f1d5a
wined3d: Move sRGB_decode handling to the top of texture_bind / preload.
2013-10-09 15:52:37 +02:00
Henri Verbeet
079b6d4c11
wined3d: Unify the shader state IDs.
2013-10-09 11:11:07 +02:00
Henri Verbeet
1f22246b84
wined3d: Send material updates through the command stream.
2013-10-09 11:11:00 +02:00
Henri Verbeet
db68c43678
wined3d: Send clip plane updates through the command stream.
2013-10-09 11:10:58 +02:00
Stefan Dösinger
e4a0767e2d
wined3d: Get rid of SFLAG_LOCKABLE.
2013-10-08 15:39:02 +02:00
Henri Verbeet
c6f8404bb6
wined3d: Send transformation matrix updates through the command stream.
2013-10-08 09:09:01 +02:00
Henri Verbeet
b2e75e27f3
wined3d: Send sampler state updates through the command stream.
2013-10-08 09:08:59 +02:00
Henri Verbeet
8cf6d1a429
wined3d: Send texture state updates through the command stream.
2013-10-08 09:08:56 +02:00