Commit Graph

6679 Commits

Author SHA1 Message Date
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