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