Commit Graph

6800 Commits

Author SHA1 Message Date
Stefan Dösinger d4db09d0e9 wined3d: Support WINED3DFMT_R5G5_SNORM_L6_UNORM with EXT_texture_snorm.
From: Stefan Dösinger <stefandoesinger@gmx.at>
2015-03-10 21:43:34 +09:00
Stefan Dösinger 6df52ca7e6 wined3d: Add support for GL_EXT_texture_snorm. 2015-03-10 21:43:32 +09:00
Stefan Dösinger 6f2f73a456 wined3d: Improve the unsigned emulation of WINED3DFMT_R5G5_SNORM_L6_UNORM. 2015-03-10 21:43:11 +09:00
Stefan Dösinger ce836bf651 wined3d: Properly up-scale WINED3DFMT_R5G5_SNORM_L6_UNORM. 2015-03-10 21:43:07 +09:00
Bernhard Übelacker 44ddcac6c3 wined3d: Recognize Nvidia GeForce 8100 with Nouveau driver (bug). 2015-03-10 21:42:50 +09:00
Matteo Bruni db80aba5ad wined3d: Drop redundant check for instanced rendering from drawStridedFast.
We need GL_ARB_instanced_arrays to be able to take the fastest path and
that's already checked in draw_primitive.  Note that
GL_ARB_instanced_arrays provides glDrawElementsInstanced if
GL_ARB_draw_instanced is not supported so we don't need to explicitly
check for the latter.
2015-03-02 13:48:00 +09:00
Matteo Bruni 8ed9c2a11b wined3d: Add a couple checkGLcall() in surface_prepare_rb(). 2015-03-02 13:47:56 +09:00
Matteo Bruni 2f804307bd wined3d: Drop a few unnecessary &x[0]. 2015-03-02 13:47:52 +09:00
Matteo Bruni 7f618695c6 wined3d: Remove an obsolete comment.
Wined3d doesn't actually require the GLX extension for multisampling
at this point (while it does require FBOs).
2015-03-02 13:47:46 +09:00
Matteo Bruni 67d2b52c27 wined3d: Remove ARB_/EXT_TEXTURE_ENV_ADD. 2015-02-26 20:08:57 +09:00
Matteo Bruni aca8ab91eb wined3d: Use the core version of the INCR_WRAP and DECR_WRAP tokens. 2015-02-25 20:35:28 +09:00
Matteo Bruni 78ae4f66d7 wined3d: Set GL_UNPACK_ALIGNMENT to 1.
Alignment should be taken care by the surface pitch and
GL_UNPACK_ROW_LENGTH alone just fine, as long as the pitch is a
multiple of the pixel size. Client APIs respect that,
internally we need to do the same and the changes to
surface_load_texture and wined3d_volume_upload_data are there
for this reason (e.g. WINED3DFMT_R16G16_SNORM is emulated with
GL_RGB16 when NV_texture_shader isn't supported).
2015-02-20 22:53:09 +09:00
Matteo Bruni 7c4d512fee wined3d: Make sure the correct texture is bound in device_update_volume. 2015-02-19 17:52:03 +09:00
Matteo Bruni b47695bf3a wined3d: Reject unsupported pitches in wined3d_surface_update_desc(). 2015-02-19 17:51:47 +09:00
Matteo Bruni d56c168da1 wined3d: Set the surface pitch for user-memory surfaces. 2015-02-19 17:51:36 +09:00
Henri Verbeet 3fa8f4ece3 wined3d: Apply modifiers after floatBitsToInt()/floatBitsToUint() in shader_glsl_add_src_param(). 2015-02-18 23:21:49 +09:00
Stefan Dösinger 52ab9e382e wined3d: Read WINED3D_TEXTURE_COLOR_KEY and gl_color_key to find format conversions.
The idea is to make it clear that wined3d_texture_load is responsible
for checking the color key for changes. Once we can do color keying in
the shader we also have one place where we can disable the surface
conversion.
2015-02-18 22:02:39 +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
Stefan Dösinger 9b3ab8a6f4 wined3d: Set z = 0.0 via the projection matrix instead of depth clamping.
This works on cards that don't implement ARB_depth_clamp like r500
cards. Note that texturing is influenced by position.w, not position.z.
2015-02-12 22:20:05 +09:00
Henri Verbeet 471e626052 wined3d: Fix the .spec. 2015-02-12 22:12:11 +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
Henri Verbeet 8506da62e0 wined3d: Implement WINED3DSIH_SQRT in the GLSL shader backend. 2015-02-11 23:05:08 +09:00
Henri Verbeet 1dfea3a4ba wined3d: Do not validate format restrictions for buffers.
Buffers don't have a format as such, and are created with either
WINED3DFMT_UNKNOWN or WINED3DFMT_VERTEXDATA.
2015-02-11 23:05:04 +09:00
Henri Verbeet 5045ca639d wined3d: Add some warnings when resource_init() fails due to format restrictions. 2015-02-11 23:04:59 +09:00
Matteo Bruni ac3df5e1f1 wined3d: Use the proper pitch in read_from_framebuffer().
This function is only used in the non-default "backbuffer" ORM.
2015-02-11 22:21:36 +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
Matteo Bruni b875a4a44a wined3d: Use GL_CLAMP_TO_EDGE instead of GL_CLAMP.
GL_CLAMP was removed from core profile and probably GL_CLAMP_TO_EDGE was
intended to be used here anyway.
2015-02-10 16:21:55 +09:00
Matteo Bruni f4da723151 wined3d: Call glReadBuffer() through the appropriate function pointer. 2015-02-10 16:21:41 +09:00
Matteo Bruni 1612dc4dc9 wined3d: Refuse pixel shaders declaring POSITION0 inputs. 2015-02-09 22:05:43 +09:00
Matteo Bruni 74b4516bfa wined3d: Only consider POSITION0 PS inputs as vpos. 2015-02-09 22:05:41 +09:00
Matteo Bruni 96b48191c0 wined3d: Only copy POSITION0 output semantics into gl_Position. 2015-02-09 22:05:35 +09:00
Matteo Bruni 1aa5015467 wined3d: Directly use the core version of glTex[Sub]Image3D. 2015-02-09 22:05:32 +09:00
Stefan Dösinger da5041eb4b wined3d: Check the d3d buffer to find converted attributes.
This fixes some tests with ARB shaders that were broken since
1360af6adc. When buffer_internal_preload
is called by context_update_stream_info, si->elements[i].data is not yet
set.
2015-02-06 22:20:26 +09:00
Stefan Dösinger e178b7ec9a wined3d: Don't use TXP for rectangle P8 textures.
This was probably taken from the YUV shaders, incorrectly and in reverse
logic. It did happen to work though because fragment.texcoord[0].w is 1.0.
2015-02-04 23:15:03 +09:00
Stefan Dösinger 3d49060fdf wined3d: Fix the color keyed P8 alpha ref value. 2015-02-04 23:14:59 +09:00
Matteo Bruni 9defaa53a1 wined3d: Use the core version of the asynchronous queries functions. 2015-02-02 22:39:05 +09:00
Stefan Dösinger 3ef1d6bcd9 wined3d: Pass WM_SYSCOMMAND(SC_RESTORE) to DefWindowProc. 2015-01-28 11:06:48 +01:00
Andrew Eikum 7b45103c4a wined3d: Fix spec file entry for wined3d_texture_create. 2015-01-23 17:28:40 +01:00
Matteo Bruni d360a51f3c wined3d: Use the core version of the shader object functions. 2015-01-23 12:02:37 +01:00
Matteo Bruni e192939652 wined3d: Use the core version of GL vertex attribute functions where possible. 2015-01-23 12:02:33 +01:00
Matteo Bruni 584892b692 wined3d: Properly initialize the last two components of R16G16_SINT attributes. 2015-01-23 12:02:28 +01:00
Matteo Bruni 270431c220 wined3d: Don't normalize R8G8B8A8_UINT attributes. 2015-01-22 13:37:55 +01:00
Matteo Bruni 8ddb7e32f8 wined3d: Add separate stencil state setup via GL 2.0+ core functions. 2015-01-22 13:37:53 +01:00
Matteo Bruni 915e0ef0cf wined3d: Always use the core version of the glPointParameteri function.
The state function depends on GL 2.0+ so it's unnecessary to
check for NV_POINT_SPRITE.
2015-01-20 16:09:01 +01:00
Matteo Bruni aff0c389cc wined3d: Use the core version of glDrawElementsInstanced. 2015-01-20 16:08:58 +01:00
Matteo Bruni 75b96768e5 wined3d: Use the core version of glDrawBuffers. 2015-01-20 16:08:56 +01:00
Matteo Bruni 6bb32e47ff wined3d: Use the core gl*CompressedTex* functions. 2015-01-20 16:08:54 +01:00
Henri Verbeet 525696fe6c wined3d: Properly cleanup samplers on wined3d_device_reset() / wined3d_device_uninit_3d(). 2015-01-19 14:31:53 +01:00
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