Henri Verbeet
ca06f960ed
wined3d: Use the same flags for wined3d_texture_set_color_key() and the "color_key_flags" field it sets.
...
This fixes a regression introduced by commit a8ab569415
.
2015-01-19 14:31:51 +01:00
Henri Verbeet
2912e2938e
wined3d: Handle the SM4 SV_POSITION pixel shader input semantic in the GLSL shader backend.
...
This is (mostly) equivalent to the vPos register in SM3.
2015-01-19 14:31:38 +01:00
Henri Verbeet
2e5abc156a
wined3d: Implement WINED3DSIH_SAMPLE in the GLSL shader backend.
2015-01-19 14:31:32 +01:00
Henri Verbeet
60d44af34e
wined3d: Merge shader_glsl_load_vsamplers() and shader_glsl_load_psamplers().
2015-01-15 17:24:45 +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
Matteo Bruni
7e169d43c5
wined3d: Use the core glColorMaski function.
2015-01-15 11:44:22 +01:00
Matteo Bruni
79a0dece8b
wined3d: Use the core version of the gl*Buffer* functions.
2015-01-15 11:44:20 +01:00
Matteo Bruni
3ccb66f472
wined3d: Use the core version of the glBlend* functions.
2015-01-09 11:49:37 +01:00
Matteo Bruni
993075cdb3
wined3d: Prefer the core glActiveTexture function.
2015-01-09 11:49:33 +01:00
Matteo Bruni
c603e47986
wined3d: Inline GL_EXT_FUNCS_GEN in load_gl_funcs.
2015-01-09 11:49:16 +01:00
Henri Verbeet
30aa55282e
wined3d: Specify the initial texture contents with wined3d_texture_create() in wined3d_device_create_cursor_texture().
2015-01-05 20:15:38 +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
08aded431b
wined3d: Reject wined3d_texture_create() calls without explicit level count.
2015-01-05 20:15:26 +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
f5939399f0
wined3d: Use __builtin_clz() in wined3d_log2i() when available.
2014-12-10 13:40:47 +01:00
Stefan Dösinger
19c860499a
wined3d: Filter messages generated by focus handling.
2014-12-08 14:18:43 +01:00
Henri Verbeet
5c3d52468c
wined3d: Take the resource data type into account in shader_glsl_gen_sample_code().
2014-12-03 11:14:27 +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
5ccda82acc
wined3d: Validate register indices for WINED3DSIH_DCL instructions.
2014-12-03 11:14:14 +01:00
Stefan Dösinger
f103247ddf
wined3d: Add a comment about reset during focus change.
2014-12-02 13:05:54 +01:00
Henri Verbeet
0e8f2786e9
wined3d: Keep a reference to the resource in shader resource views.
2014-12-01 11:00:23 +01:00
Henri Verbeet
08b06b7d8f
wined3d: Unbind shader resource views in state_unbind_resources().
2014-12-01 11:00:22 +01:00
Henri Verbeet
55eb6c6922
wined3d: Assign the name to the correct signature in pixelshader_init().
2014-12-01 11:00:21 +01:00
Stefan Dösinger
7b5bf3d4d6
wined3d: Update fragment program constants when switching from arb ffp draws.
2014-11-28 17:05:12 +01:00
Stefan Dösinger
c9b10beb36
wined3d: Vertex fog uses the absolute eye position z.
2014-11-27 13:27:13 +01:00
Stefan Dösinger
f4d520d6e2
wined3d: Don't minimize hidden windows.
2014-11-20 22:31:26 +09:00
Stefan Dösinger
09a91231a6
wined3d: Set the device window size on focus window activation.
2014-11-20 22:31:13 +09:00
Stefan Dösinger
a835ae8643
wined3d: Fix mode comparison in wined3d_set_adapter_display_mode.
2014-11-20 22:30:48 +09: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
Henri Verbeet
8681999eee
wined3d: Explicitly convert the condition to bool shader_glsl_if().
...
In SM4 shaders the condition is likely to be an integer instead of a bool
uniform like in SM3.
2014-11-17 19:30:35 +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
Matteo Bruni
ea85db2a3f
wined3d: Add ATI1N texture format support.
2014-11-04 21:15:56 +09:00
Henri Verbeet
875a7c5426
wined3d: Use the input signature to setup SM4 pixel shader input semantics.
2014-11-04 16:54:35 +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
dd923c3029
wined3d: Check ARB_TEXTURE_COMPRESSION_RGTC for applying the correct fixup.
2014-10-30 23:08:47 +09:00
Michael Stefaniuc
00c25959d1
wined3d: Remove no-op min() with magic number (PVS_Studio).
2014-10-30 12:00:31 +09:00
Stefan Dösinger
c35f0161c0
wined3d: Update AMD drivers.
2014-10-27 19:03:11 +09:00
Stefan Dösinger
a4443a97a7
wined3d: Update Nvidia driver versions.
2014-10-27 19:03:09 +09:00
Stefan Dösinger
aad1997dff
wined3d: Remove texture locations after downloading all subresources.
2014-10-23 18:48:25 +09:00
Ken Thomases
bd460bca1c
wined3d: Fix subtraction of resource size from used adapter memory.
...
Properly negate an unsigned value while promoting it from 32- to 64-bit.
2014-10-17 15:48:42 +09:00
Matteo Bruni
69c72c969f
wined3d: ps_2_0 shaders don't support int or bool constants.
2014-10-16 21:23:33 +09:00
Matteo Bruni
e789fadd56
wined3d: Don't replicate shader limits values for each shader.
2014-10-16 21:23:26 +09:00
Matteo Bruni
f24e62b303
wined3d: Fail to create shaders using more than the supported number of constants.
2014-10-14 14:00:11 +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
4c454fd4ab
wined3d: Only prepare the texture in device_update_volume().
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
bd1afdb3c3
wined3d: Get rid of surface_prepare_texture_internal().
2014-10-07 20:22:07 +02:00
Henri Verbeet
6da1cff518
wined3d: Get rid of d3dfmt_convert_surface().
2014-10-07 20:22:06 +02:00
Henri Verbeet
71b59afe03
wined3d: Return the destination format from d3dfmt_get_conv().
2014-10-07 20:22:05 +02:00
Henri Verbeet
fd342cce3e
wined3d: Don't check for color-keying for WINED3D_CT_P8.
...
We don't support p8 color keying either way.
2014-10-06 17:35:17 +02:00
Henri Verbeet
c5bf229287
wined3d: Print a FIXME for any unhandled format in d3dfmt_get_conv().
2014-10-06 17:35:15 +02:00
Henri Verbeet
dffcc36dd4
wined3d: Don't abuse conv_byte_count for color-key conversions.
2014-10-06 17:35:12 +02:00
Henri Verbeet
b0ce89d810
wined3d: Just use glGammaInternal/rtInternal from the destination format in d3dfmt_get_conv().
...
Using glGammaInternal or rtInternal should do the right thing in principle,
although in practice they should never get used either way.
2014-10-06 17:35:10 +02:00
Henri Verbeet
7d42d9ea91
wined3d: Introduce a separate function for WINED3D_CT_CK_B8G8R8A8.
2014-10-03 09:22:52 +02:00
Henri Verbeet
dabe5b4479
wined3d: Introduce a separate function for WINED3D_CT_CK_B8G8R8X8.
2014-10-03 09:22:49 +02:00
Henri Verbeet
548978dec4
wined3d: Introduce a separate function for WINED3D_CT_CK_B8G8R8.
2014-10-03 09:22:45 +02:00
Henri Verbeet
dabb07aea6
wined3d: Introduce a separate function for WINED3D_CT_CK_B5G5R5X1.
2014-10-02 16:58:27 +02:00
Henri Verbeet
e377ad45fa
wined3d: Introduce a separate function for WINED3D_CT_CK_B5G6R5.
2014-10-02 16:58:25 +02:00
Henri Verbeet
e10a46c300
wined3d: Introduce a separate function for WINED3D_CT_P8.
2014-10-02 16:58:23 +02:00
Henri Verbeet
5802f72adf
wined3d: Just store the wined3d format in color_key_info[].
2014-10-02 16:58:21 +02:00
Henri Verbeet
2c7be38bb4
wined3d: Convert to WINED3DFMT_B8G8R8A8_UNORM for WINED3D_CT_CK_B8G8R8X8.
2014-10-02 16:58:19 +02:00
Henri Verbeet
7579a96ac1
wined3d: Convert to WINED3DFMT_B8G8R8A8_UNORM for WINED3D_CT_CK_B8G8R8.
2014-10-01 10:35:56 +02:00
Henri Verbeet
02b031e61a
wined3d: Convert to WINED3DFMT_B5G5R5A1_UNORM for WINED3D_CT_CK_B5G6R5.
2014-10-01 10:35:54 +02:00
Henri Verbeet
6f8cb77ea9
wined3d: Convert to WINED3DFMT_B8G8R8A8_UNORM for WINED3D_CT_P8.
2014-10-01 10:35:52 +02:00
Henri Verbeet
632d2fca6e
wined3d: Fix the pitch handling in the no-palette WINED3D_CT_P8 case.
2014-10-01 10:35:50 +02:00
Henri Verbeet
c5d917777a
wined3d: Get rid of the WINED3D_CT_NONE case in d3dfmt_convert_surface().
...
This is never used.
2014-10-01 10:35:47 +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
df21c2b346
wined3d: Pass a texture to d3dfmt_get_conv().
2014-09-30 17:35:24 +02:00
Henri Verbeet
6323a26f6c
wined3d: Get rid of the "use_texturing" parameter to d3dfmt_get_conv().
2014-09-30 17:34:55 +02:00
Henri Verbeet
0932567faf
wined3d: Use a lookup table in d3dfmt_get_conv().
2014-09-30 17:34:20 +02:00
Henri Verbeet
a8ab569415
wined3d: Use wined3d_texture_set_color_key() to manipulate the color-key in surface_blt_special().
2014-09-30 10:18:37 +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
Francois Gouget
0dd5cb1cef
Assorted spelling fixes.
2014-09-29 10:36:36 +02:00
Thomas Faber
c5b9bdc75a
wined3d: Use correct FXCAPS constant in wined3d_get_device_caps.
2014-09-24 14:05:18 +02:00
Andrei Slăvoiu
9d0f924d1b
wined3d: Pass the capabilities directly to d3d_level_from_gl_info and rename it to d3d_level_from_caps.
2014-09-23 17:17:12 +02:00
Andrei Slăvoiu
24f661674f
wined3d: Adjust the Intel fallbacks to better reflect reality.
2014-09-23 17:17:12 +02:00
Henri Verbeet
8aa1137509
wined3d: Use the texture resource in wined3d_surface_depth_fill().
2014-09-19 10:49:29 +02:00
Henri Verbeet
4f2110b0ce
wined3d: Never pass a surface to wined3d_resource_is_offscreen().
2014-09-19 10:49:27 +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
2f67b13918
wined3d: Set the initial primitive type to WINED3D_PT_UNDEFINED.
2014-09-18 13:06:34 +02:00
Henri Verbeet
74ab8e8ce9
wined3d: Do not increment the reference count of the returned buffer in wined3d_device_get_stream_source().
...
None of the other getters increment the reference count either.
2014-09-18 13:06:32 +02:00
Henri Verbeet
f06a57f678
d3d10core: Implement d3d10_device_PSGetShaderResources().
2014-09-17 11:05:08 +02:00
Henri Verbeet
8080212f43
d3d10core: Implement d3d10_device_PSSetShaderResources().
2014-09-17 11:05:05 +02:00
Henri Verbeet
354a6d4e2c
d3d10core: Implement d3d10_device_GSGetShaderResources().
2014-09-17 11:05:01 +02:00
Henri Verbeet
9c3266fe1d
d3d10core: Implement d3d10_device_GSSetShaderResources().
2014-09-17 11:04:58 +02:00
Henri Verbeet
482e5f589b
d3d10core: Implement d3d10_device_VSGetShaderResources().
2014-09-17 11:04:54 +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
Henri Verbeet
429d72965d
wined3d: Allow sRGB read/write and VTF on WINED3DFMT_R8G8B8A8_UNORM.
2014-09-01 13:12:44 +02:00
Matteo Bruni
33627f02aa
wined3d: Store bool uniforms location in the GLSL shader structures.
2014-08-28 15:30:26 +02:00
Matteo Bruni
6eb242a275
wined3d: Handle half-float attributes in load_numbered_arrays().
...
Fixes a bunch of graphic glitches in WildStar on Nvidia.
2014-08-28 15:30:23 +02:00
Stefan Dösinger
ee0ac3663b
wined3d: Initialize the map binding in resource_init.
2014-08-26 14:46:55 +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
736b9e1c1c
wined3d: Get rid of wined3d_device_color_fill().
2014-08-22 12:53:26 +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
9f9731410b
wined3d: Also update the container in wined3d_surface_update_desc().
...
This fixes a bug exposed by commit 415b803720
.
In particular, wined3d_resource_update_draw_binding() uses the multisample
type to determine to appropriate draw binding, and since we never updated that
for the container, we could end up with an incorrect draw binding after a
device reset.
2014-08-22 12:53:01 +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
7ede9788d4
wined3d: Make wined3d_device_clear_rendertarget_view() work with texture resources.
2014-08-21 12:24:31 +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
3a160432f8
wined3d: Pass a texture instead of a surface to upload_palette().
2014-08-21 12:24:16 +02:00
Andrei Slăvoiu
2c9c968a14
wined3d: Replace vendor specific callbacks with generic code that uses vendor specific arrays.
2014-08-20 14:07:07 +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
415b803720
wined3d: Use the texture draw binding instead of the surface draw binding.
2014-08-20 13:29:50 +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
Andrei Slăvoiu
e9b0a0e181
wined3d: Use capabilities from the shader backend or the fragment pipeline to determine the D3D level.
2014-08-07 17:53:56 +02:00
Andrei Slăvoiu
48e25d0d21
wined3d: Make d3d_level_from_gl_info return an enum instead of a plain int.
2014-08-07 17:53:55 +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
9020ef9675
wined3d: Make the "desc" parameter to wined3d_buffer_create() const.
2014-08-04 14:23:40 +02:00
Henri Verbeet
6a1a18e7e2
d3d10core: Implement d3d10_device_CopyResource().
2014-08-04 14:23:36 +02:00
Henri Verbeet
80bca9bc9c
wined3d: Add constant buffer support to the GLSL shader backend.
2014-08-04 14:23:29 +02:00
Andrei Slăvoiu
01b2b3074d
wined3d: Replace vendor specific callbacks with generic code that uses vendor specific renderer string tables.
2014-07-30 11:15:24 -05:00
Andrei Slăvoiu
1e7c5d8ca4
wined3d: Make the card selection for AMD binary driver use arrays only.
2014-07-30 11:14:42 -05:00
Andrei Slăvoiu
47bec5eba0
wined3d: Make the card selection for Nvidia binary driver use arrays only.
2014-07-30 11:14:26 -05:00
Henri Verbeet
96d845aa46
wined3d: Avoid a compiler warning in context_stream_info_from_declaration().
2014-07-22 12:37:54 +02:00
Andrei Slăvoiu
41962a5a07
wined3d: Remove the gl_info parameter from select_card callbacks.
2014-07-21 14:02:31 +02:00
Andrei Slăvoiu
22475ddd82
wined3d: Remove usage of gl_info parameter from select_card_amd_binary.
2014-07-21 14:02:29 +02:00
Andrei Slăvoiu
665c2e1e27
wined3d: Remove usage of gl_info parameter from select_card_nvidia_binary.
2014-07-21 14:02:26 +02:00
Henri Verbeet
bc019fcbbd
wined3d: Track synchronized buffer maps.
...
Instead of trying to infer unsynchronized ones.
2014-07-18 19:13:37 +02:00
Henri Verbeet
01251f3d3c
wined3d: Use the previous "dirty" status to set WINED3D_BUFFER_NOSYNC in wined3d_buffer_map().
...
This (presumably) fixes a regression introduced by commit
c1032e977b
.
2014-07-18 19:13:36 +02:00
Henri Verbeet
8c19371b62
wined3d: Fix a couple of renderer strings in select_card_nvidia_binary().
2014-07-18 19:13:35 +02:00
Stefan Dösinger
341db6d8d3
wined3d: Remove wined3d_texture_set/get_priority.
2014-07-16 16:10:05 +02:00
Stefan Dösinger
cf11933701
wined3d: Remove wined3d_buffer_set/get_priority.
2014-07-16 16:10:01 +02:00
Stefan Dösinger
086545cdd3
wined3d: Remove wined3d_volume_set/get_priority.
2014-07-16 16:09:56 +02:00
Stefan Dösinger
2abecc46c6
wined3d: Remove wined3d_surface_set/get_priority.
2014-07-16 16:09:51 +02:00
Henri Verbeet
8b8af4bee0
wined3d: Make wined3d_arbfp_blit_rb_functions static.
2014-07-14 19:26:19 +02:00
Henri Verbeet
0ef760ef82
wined3d: Make vp_ffp_states static.
2014-07-14 19:26:19 +02:00
Henri Verbeet
63f2b65141
wined3d: Clarify WINED3DUSAGE_WRITEONLY a bit.
2014-07-14 19:26:18 +02:00
Henri Verbeet
1360af6adc
wined3d: Don't try to resolve vertex buffer locations in context_stream_info_from_declaration().
2014-07-14 19:26:17 +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
4cecbaa54d
wined3d: Ignore set_priority calls on non-managed resources.
2014-07-09 14:43:32 +02:00
Stefan Dösinger
4b88d51bc9
wined3d: Do not write a FIXME about WINED3DUSAGE_WRITEONLY.
2014-07-07 15:49:00 +02:00
Henri Verbeet
91fbd2232d
wined3d: Print a winediag message if we failed to create a DXTn texture because of lack of driver support.
2014-07-01 12:52:05 +02:00
Stefan Dösinger
9d49b7a9be
wined3d: Set palettes on the swapchain.
2014-06-30 22:04:53 +02:00
Henri Verbeet
09fda3b805
d3d9: Improve d3d9_device_TestCooperativeLevel().
2014-06-27 10:37:36 +02:00
Matteo Bruni
b42fe709d6
wined3d: Validate and handle query size parameter.
2014-06-16 13:56:35 +02:00
Henri Verbeet
fa312a32b2
wined3d: Add format information for WINED3DFMT_R8_UNORM.
2014-06-13 10:11:59 +02:00
Stefan Dösinger
3909215773
wined3d: Remove d3dfmt_p8_init_palette.
2014-06-11 16:14:38 +02:00
Andrei Slăvoiu
fbdf618251
wined3d: Recognize cards that expose GLSL 1.30 as DX10 capable even if they don't support EXT_GPU_SHADER4.
2014-06-11 12:58:55 +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
Henri Verbeet
c81d3b7336
wined3d: Recognize the SM4 discard opcode.
2014-05-20 09:44:17 +02:00
Henri Verbeet
0fe183c299
wined3d: Increase the SM4 instruction length mask size.
2014-05-19 09:55:25 +02:00
Stefan Dösinger
bdc396e4f5
wined3d: Fix indentation in d3dfmt_p8_init_palette.
2014-05-15 19:05:03 +02:00
Stefan Dösinger
fd0189bbfa
wined3d: Move get_dc palette updates to ddraw.
2014-05-15 19:05:02 +02:00
Stefan Dösinger
544816797a
wined3d: Don't update the color table on palette changes.
2014-05-14 13:30:33 +02:00
Stefan Dösinger
3cd83f4d56
wined3d: Use GL_ALPHA8 for WINED3DFMT_P8_UINT surfaces.
2014-05-14 13:30:19 +02:00
Stefan Dösinger
7b049245f5
wined3d: Always provide P8 GL texture information.
2014-05-14 13:30:08 +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
fc25510fad
wined3d: Remove wined3d_surface_get_palette.
2014-05-12 21:24:59 +02:00
Stefan Dösinger
46df06aae7
wined3d: Implement DDBLTFX_MIRRORUPDOWN for DXT2.
2014-05-12 21:24:49 +02:00
Joachim Priesner
3cd86c9f62
wined3d: Clear active lights when cleaning up a D3D stateblock.
...
This prevents dangling pointers as the light structures that the pointers in
the state->lights array point to are freed below when cleaning the light maps.
2014-05-09 20:03:43 +02:00
Stefan Dösinger
1558391a11
wined3d: Store RGBQUADs in palettes.
2014-05-07 20:21:56 +02:00
Stefan Dösinger
19f45af19c
wined3d: Copy the DIB to sysmem when PIN_SYSMEM is set.
2014-05-07 20:21:55 +02:00
Stefan Dösinger
39212d2ffb
wined3d: Remove broken gdi palette code.
2014-05-02 16:32:54 +02:00
Henri Verbeet
0eebe0515f
wined3d: Fix a couple of string declarations.
2014-05-02 13:45:10 +02:00
Henri Verbeet
14e3f71c75
wined3d: Bump ps_1x_max_value.
...
Shader model 4 hardware should generally have real floats for everything, and
FLT_MAX matches the value from the Windows drivers for that kind of hardware.
OpenGL requires at least 2^10 for colors, and 2^32 for other floats.
2014-05-02 13:45:04 +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
23eed88fde
wined3d: Implement support for per-stage texture stage constants.
...
This patch is loosely based on an earlier patch by Christian Costa.
2014-04-23 15:00:43 +02:00
Henri Verbeet
ac70dd2c97
ddraw: Validate the pitch for user memory surfaces against the unaligned minimum pitch.
...
User memory surfaces have a different minimum alignment from regular surfaces.
This fixes a regression introduced by commit
9c138d772c
.
2014-04-23 15:00:35 +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
Henri Verbeet
a1c63c2781
wined3d: Simplify the driver version info lookup in init_driver_info().
2014-04-23 15:00:02 +02:00
Henri Verbeet
36d8d6bf8e
wined3d: Ignore invalid PCI vendor/device overrides.
2014-04-22 11:26:31 +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
Matteo Bruni
4811a839cf
wined3d: Add support for GL_ARB_timer_query extension.
2014-04-17 13:52:53 +02:00
Henri Verbeet
5b8d3a0c70
wined3d: Set the WINED3DPBLENDCAPS_SRCALPHASAT destination blend cap when ARB_blend_func_extended is supported.
2014-04-15 21:03:54 +02:00
Henri Verbeet
7f2ae9889d
wined3d: Set VTF filter caps when VTF is supported.
2014-04-15 21:03:54 +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
62f7ba2555
wined3d: Raise MaxPrimitiveCount and MaxVertexIndex.
2014-03-31 17:27:21 +02:00
Stefan Dösinger
f3488d0fea
wined3d: Translate shader model 2.0+ EXPP to EX2.
2014-03-27 18:57:50 +01:00
Stefan Dösinger
9ccaacf60d
wined3d: Translate LOGP to LG2 in the ARB shader backend.
2014-03-27 18:57:46 +01:00
Stefan Dösinger
c2541a5887
wined3d: Handle RCP in shader_hw_scalar_op.
2014-03-27 18:57:40 +01:00
Stefan Dösinger
5114507f19
wined3d: Handle LOG and LOGP in shader_hw_scalar_op.
2014-03-27 18:57:37 +01:00
Stefan Dösinger
f20173e51b
wined3d: Select the component by editing the swizzle.
2014-03-27 18:57:33 +01: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
Ken Thomases
57c51710e0
wined3d: When restoring pixel format in context_release(), mark the context as needing to be set on the next context_acquire().
...
If we had to restore the pixel format then we know it won't be what we need
when the app calls into wined3d again. This helps avoid the GetPixelFormat()
in context_acquire().
2014-03-24 20:20:12 +01:00
Ken Thomases
ffb357b717
wined3d: Don't call GetPixelFormat() to set a flag that's already set.
2014-03-24 20:20:12 +01:00
Ken Thomases
90d7f3e03f
wined3d: Simplify the error path of context_update_window().
2014-03-24 20:20:11 +01:00
Ken Thomases
03ca2b2932
wined3d: Don't leak the HDC of an invalid context in context_update_window().
...
If context_set_gl_context() fails, it marks the context as invalid. It still
has an HDC, though, and context_update_window() would lose the reference to
it.
2014-03-24 20:20:10 +01:00
Stefan Dösinger
938529e1f9
wined3d: Remove the version parameter.
2014-03-20 19:04:37 +01:00
Stefan Dösinger
7d793715f3
ddraw: Use the new private store api.
2014-03-17 20:23:58 +01:00
Stefan Dösinger
6a34d4b40f
wined3d: Decouple private data from the resource structure.
2014-03-14 18:54:48 +01:00
Henri Verbeet
64dd435e2a
wined3d: Only use a single allocation for each struct private_data.
2014-03-13 20:22:01 +01:00
Stefan Dösinger
3754cdd793
wined3d: Correctly handle the size parameter in get_private_data.
2014-03-12 19:01:07 +01:00
Henri Verbeet
a05dcd911e
wined3d: Handle shader_arb_free_context_data() during context creation.
2014-03-11 19:39:38 +01:00
Stefan Dösinger
ab6368b6e8
wined3d: Don't modify existing data if set_private_data fails.
2014-03-11 19:39:30 +01:00
Henri Verbeet
ae63dee517
wined3d: Get rid of GL_VENDOR_INTEL.
2014-03-06 12:01:27 +01:00
Matteo Bruni
9c5c3a81ce
wined3d: Free CS data on CS destruction.
2014-03-05 19:18:26 +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
Henri Verbeet
c1032e977b
wined3d: Filter redundant WINED3D_MAP_DISCARD buffer maps.
2014-03-04 11:50:54 +01:00
Stefan Dösinger
dfbff712f4
wined3d: surface_load_ds_location can handle WINED3D_LOCATION_DISCARDED.
2014-03-03 17:46:46 +01:00
Henri Verbeet
b40eda767b
wined3d: Also trace "mem" and "pitch" in wined3d_surface_update_desc().
2014-03-03 17:02:25 +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
b8569d2f30
wined3d: Make context_update_window() just mark the GL context as needing to be set rather than setting it.
2014-02-22 08:41:51 -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
Ken Thomases
2d1e67ee68
wined3d: Remove redundant call to context_set_pixel_format() from context_update_window().
...
It calls context_set_gl_context() just after and that starts with a call to
context_set_pixel_format(). Also, context_update_window() didn't do the
right thing (fall back to swapchain backup DC) if context_set_pixel_format()
fails.
2014-02-22 08:41:42 -06:00
Ken Thomases
088dd7289c
wined3d: Call context_enter() before context_update_window() so it records the proper restore state.
2014-02-22 08:41:38 -06:00
Martin Storsjo
1275525789
wined3d: Use an rbtree for storing shaders for texture format conversion/blitting.
2014-02-17 20:16:30 +01:00
Martin Storsjo
171529106b
wined3d: Add support for NV12 textures.
2014-02-17 20:16:29 +01:00
Stefan Dösinger
2728e7b887
wined3d: Reject height scaled repacked np2 textures.
2014-02-12 19:15:32 +01:00
Stefan Dösinger
6583379077
wined3d: Don't use NP2 repacking for RECT textures.
2014-02-12 19:15:31 +01:00
Martin Storsjo
fd21351947
wined3d: Fix the YV12 illustration.
2014-02-12 19:15:30 +01:00
Erich E. Hoover
68e3b18533
ddraw: Return the D3D identifier when GetDeviceIdentifier is called with no flags.
2014-02-11 20:22:30 +01:00
Martin Storsjo
963c26b36f
wined3d: Fix clamping in reading rectangular YV12 textures.
...
The lower bound for chroma components is size.y + 1/2, not
size.y - 1/2.
2014-02-11 19:20:08 +01:00
Frédéric Delanoy
0f2bed51bd
Assorted spelling fixes.
2014-02-10 15:47:29 +01:00
Ken Thomases
59226e36b7
wined3d: Don't clear the GL context if it's not the one being destroyed by context_destroy_gl_resources().
...
The previous code clears the GL context if the context being destroyed is
not valid, even though the current one is some arbitrary, unrelated context.
2014-02-06 17:08:09 +01:00
Ken Thomases
75d53c9aed
wined3d: Don't clear the GL context such that it can't be restored.
2014-02-06 17:08:08 +01:00
Henri Verbeet
82b38139eb
wined3d: Also destroy the logo and cursor textures in wined3d_device_reset() when resetting state.
2014-01-30 17:48:35 +01:00
Henri Verbeet
175c63773d
wined3d: Don't allow format conversion on Present() for d3d8.
...
Note that this isn't currently enforced by wined3d_swapchain_create() or
wined3d_device_reset() though.
2014-01-29 20:25:52 +01:00
Ken Thomases
d2c56a6027
wined3d: Improve CheckDeviceType() support for windowed mode.
...
For windowed mode:
* It doesn't matter if there are no adapter modes for the display format.
* A backbuffer format is valid so long as there's support for color conversion
to the display format.
* A backbuffer format of D3DFMT_UNKNOWN is allowed and means that it should be
the same as the display format.
2014-01-28 19:38:47 +01:00
Stefan Dösinger
9f72f78431
wined3d: Set buffer->map_ptr to NULL on unmap.
2014-01-27 17:39:47 +01:00
Stefan Dösinger
d640018a3c
wined3d: Only set SFLAG_DYNLOCK when map_binding = sysmem.
...
All other map bindings are never freed. Setting SFLAG_DYNLOCK if
map_binding != sysmem might only keep a heap memory allocation around
(e.g. after device_reset) that is never used.
2014-01-17 18:10:18 +01:00
Stefan Dösinger
5630cb5dc8
wined3d: Don't set SFLAG_DYNLOCK at surface creation.
...
We no longer depend on SFLAG_DYNLOCK to create buffers and PIN_SYSMEM
makes sure the address remains constant.
2014-01-17 18:10:13 +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