Commit Graph

529 Commits

Author SHA1 Message Date
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
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
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 2e5abc156a wined3d: Implement WINED3DSIH_SAMPLE in the GLSL shader backend. 2015-01-19 14:31:32 +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
Matteo Bruni ea85db2a3f wined3d: Add ATI1N texture format support. 2014-11-04 21:15:56 +09:00
Matteo Bruni dd923c3029 wined3d: Check ARB_TEXTURE_COMPRESSION_RGTC for applying the correct fixup. 2014-10-30 23:08:47 +09:00
Henri Verbeet 77646173a0 wined3d: Move the color key conversion helpers to util.c. 2014-10-08 13:13:37 +02:00
Henri Verbeet 429d72965d wined3d: Allow sRGB read/write and VTF on WINED3DFMT_R8G8B8A8_UNORM. 2014-09-01 13:12:44 +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 80bca9bc9c wined3d: Add constant buffer support to the GLSL shader backend. 2014-08-04 14:23:29 +02:00
Henri Verbeet fa312a32b2 wined3d: Add format information for WINED3DFMT_R8_UNORM. 2014-06-13 10:11:59 +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 c1cca63e5d wined3d: Always store the palette index in the alpha component. 2014-05-14 13:29:52 +02:00
Stefan Dösinger 1558391a11 wined3d: Store RGBQUADs in palettes. 2014-05-07 20:21:56 +02:00
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
Martin Storsjo 171529106b wined3d: Add support for NV12 textures. 2014-02-17 20:16:29 +01:00
Stefan Dösinger b81e560531 wined3d: Migrate surfaces to the new location flags. 2014-01-17 18:10:10 +01:00
Stefan Dösinger 2b8e900ac4 wined3d: Give buffers their own location. 2014-01-15 20:03:53 +01:00
Stefan Dösinger adf0ab2ad8 wined3d: Give the DIB section its own location. 2014-01-14 20:18:24 +01:00
Jonathan Liu 91c5cf33ad wined3d: Avoid wined3d_ftoa buffer overflow. 2014-01-14 12:31:37 +01:00
Stefan Dösinger 965d00f4b6 wined3d: Give user memory its own location. 2014-01-10 17:59:16 +01:00
Henri Verbeet 4710c4b51a wined3d: Store color keys in textures instead of in surfaces. 2014-01-09 15:50:39 +01:00
Henri Verbeet 12f16f2127 wined3d: Reimplement wined3d_ftoa().
The current implementation is not precise enough when the FPU is in REAL4
mode, which also happens to be the mode d3d9 sets by default. Doing the same
thing with integer math is a huge pain, so just replace the decimal separator
instead.
2013-11-22 11:37:02 +01:00
Henri Verbeet 3ad8989614 wined3d: Introduce a function for safely releasing a DC. 2013-11-04 11:05:43 +01:00
Henri Verbeet 079b6d4c11 wined3d: Unify the shader state IDs. 2013-10-09 11:11:07 +02:00
Henri Verbeet 8644b62726 wined3d: Move lowest_disabled_stage to the context. 2013-10-07 14:44:35 +02:00
Henri Verbeet 991e47e3c9 wined3d: Allow WINED3DFMT_R8G8B8A8_UNORM render targets. 2013-09-25 11:49:01 +02:00
Henri Verbeet 8eb73cd0e9 wined3d: Add fallback depth format info for when ARB_depth_texture is not available.
These use the generic GL_DEPTH_COMPONENT internal format, and can't be used
for texturing.
2013-09-24 12:57:21 +02:00
Stefan Dösinger 5e89689bcd wined3d: Make format conversion functions work on volumes. 2013-09-23 20:32:32 +02:00
Stefan Dösinger 24fbe9f2ec wined3d: Pass the destination pitch to format conversion functions.
The relation between src and dst pitches is not correct if the source
pitch is padded to match pitch alignment requirements.
2013-09-20 17:04:04 +02:00
Stefan Dösinger 112617f00b wined3d: Move tex_unit_map and friends into the context. 2013-09-16 13:05:58 +02:00
Stefan Dösinger df5a0976e9 wined3d: Check the format block size before creating textures.
Sizes of textures and stand-alone surfaces must be multiples of the
format's block size for DXTN formats. Since we create a texture for
everything (except in ddraw), this check also takes care of stand-alone
surfaces.
2013-09-06 17:25:08 +02:00
Stefan Dösinger b73464a413 wined3d: Use the ftoa helper function in the ARB shader backend.
This is the ARB equivalent to e0494afa00.
2013-09-05 17:55:48 +02:00
Henri Verbeet f5f7a4e457 wined3d: Get rid of GL_EXT_paletted_texture support.
No current drivers support this, and it's probably broken. Also note that
since we removed paletted texture support from wined3d, this would only be
used for WINED3DFMT_P8_UINT blits.
2013-08-28 11:17:09 +02:00
Stefan Dösinger 6bc3cbf1c5 wined3d: Implement sRGB for volumes. 2013-08-26 19:02:16 +02:00
Stefan Dösinger 8c708486c3 wined3d: Use PBOs for dynamic volumes. 2013-08-26 19:01:39 +02:00
Stefan Dösinger 52fb1cc245 wined3d: Implement basic volume location management. 2013-08-22 20:16:01 +02:00
Stefan Dösinger 9d75a517c2 wined3d: Improve volume size calculation. 2013-08-21 19:53:15 +02:00
Henri Verbeet 37d1e8b79c wined3d: Try to avoid redundant constant updates.
This gives a minor performance improvement. For example, in 3DMark03 Game Test
1 this gives about a 4% improvement, in the Counter Strike: Source stress test
it's about 1%. (NVIDIA GF9600M, Intel T9550, 1024x768).
2013-08-16 11:55:24 +02:00
Matteo Bruni e2cf98eb76 wined3d: Implement special fog behavior for orthogonal projection matrices. 2013-07-24 11:09:31 -05:00
Henri Verbeet ffc9f535eb wined3d: Handle pre-transformed vertices in the GLSL vertex pipe.
This also avoids a fallback to drawStridedSlow().
2013-06-14 11:46:31 +02:00
Henri Verbeet 48d470f60c wined3d: Add base format info for some typeless formats. 2013-06-03 11:30:34 +02:00
Henri Verbeet 51bbfa5ced wined3d: Allow 32 bpc UINT formats in vertex declarations. 2013-06-03 11:30:31 +02:00
Henri Verbeet 8352d45da5 wined3d: Rename "fogmode" to "wined3d_ffp_ps_fog_mode".
This is mostly for consistency with wined3d_ffp_vs_fog_mode.
2013-05-30 10:57:15 +02:00
Henri Verbeet 74c5a22daa wined3d: Only invalidate the current ffp vertex shader if the light type changed.
As opposed to any time a light parameter changed.
2013-05-29 12:12:33 +02:00
Henri Verbeet bdd97858bf wined3d: Only write gl_ClipVertex if clipping is enabled in shader_glsl_generate_ffp_vertex_shader(). 2013-05-29 12:12:32 +02:00
Henri Verbeet 1c2392ddb0 wined3d: Only write gl_PointSize for point primitives in shader_glsl_generate_ffp_vertex_shader(). 2013-05-29 12:12:32 +02:00
Henri Verbeet 2014141a25 wined3d: Add support for GLSL based fixed function vertex shaders. 2013-05-29 12:12:32 +02:00
Stefan Dösinger 76941eff00 wined3d: Move gl_info->limits.max_texture_stages to d3d_info. 2013-04-25 20:25:10 +02:00
Stefan Dösinger f7580726b0 wined3d: Don't pass the device to gen_ffp_frag_op. 2013-04-25 20:25:08 +02:00
Stefan Dösinger 16e862ba9d wined3d: Add a new structure for d3d limits and other info. 2013-04-25 20:25:07 +02:00
Matteo Bruni 197cdcc9ae wined3d: Use ARB_internalformat_query2 for the other texture format caps too. 2013-04-22 17:55:38 +02:00
Matteo Bruni 6fa87980ca wined3d: Use ARB_internalformat_query2 to check for texture format rendering and blending support, where available. 2013-04-22 17:55:36 +02:00
Henri Verbeet 42208d083c wined3d: Get rid of the unused WINED3DFMT_FLAG_FOURCC flag. 2013-04-17 11:36:19 +02:00
Matteo Bruni 3e564b1e93 wined3d: Use 0 as GL internal format for WINED3DFMT_NULL. 2013-04-11 17:38:18 +02:00
Matteo Bruni 50a91e11c6 wined3d: Update comment on top of format_texture_info[]. 2013-04-10 15:46:30 +02:00
Matteo Bruni 0d563a69dd wined3d: Fix typo, really check whether color fixups are supported. 2013-04-10 15:46:22 +02:00
Matteo Bruni 5e28b0c974 wined3d: Add RESZ support. 2013-02-19 10:39:47 +01:00
Henri Verbeet c37594d3a9 wined3d: Add WINED3DFMT_INST to the format table.
We need the format to exist in apply_format_fixups() in particular.
2013-02-08 19:31:18 +01:00
Francois Gouget 68b22623b2 wined3d: debug_{d3dbasis, d3ddegree}() are not used anymore so remove them. 2013-01-29 11:48:46 +01:00
Matteo Bruni 59171c06ce wined3d: Rebind texture before checking for its content in check_fbo_compat(). 2013-01-29 11:48:26 +01:00
Henri Verbeet 7c8dab24e6 wined3d: Introduce a format flag for texturing. 2013-01-28 14:05:34 +01:00
Henri Verbeet 6c6565dea0 wined3d: Get rid of a superfluous texture copy in check_fbo_compat(). 2013-01-25 11:18:19 +01:00
Henri Verbeet b882a70282 wined3d: Properly set WINED3DFMT_FLAG_VTF in init_format_texture_info(). 2013-01-24 14:32:58 +01:00
Henri Verbeet 6527277a58 wined3d: Properly set WINED3DFMT_FLAG_FILTERING in init_format_texture_info(). 2013-01-23 12:48:41 +01:00
Henri Verbeet 3f21757702 wined3d: Get rid of select_shader_mode(). 2013-01-23 12:48:34 +01:00
Henri Verbeet 9307327ede wined3d: Properly set WINED3DFMT_FLAG_SRGB_WRITE in init_format_texture_info(). 2013-01-22 12:13:46 +01:00
Henri Verbeet 78984cf46c wined3d: Get rid of ENTER_GL / LEAVE_GL. 2012-12-11 12:03:39 +01:00
Henri Verbeet 9081f8afb1 d3d10core: Implement d3d10_device_GSSetShader(). 2012-11-14 11:27:40 +01:00
Henri Verbeet b42e02ce9b wined3d: Use the correct RGTC constant in format_texture_info. 2012-11-08 15:37:47 +01:00
Alexandre Julliard cf2b981ce0 wined3d: Make use of the generated wgl.h header. 2012-11-07 18:12:04 +01:00
Matteo Bruni f89f30e0c0 wined3d: Fix blending test expected results. 2012-08-21 11:45:43 +02:00
Matteo Bruni a488e57449 wined3d: Improve post-pixelshader blending test. 2012-08-15 12:17:48 +02:00
Matteo Bruni 902049c054 wined3d: Fix pixel format masks. 2012-08-15 12:17:46 +02:00
Matteo Bruni 0a37a86f35 wined3d: Dump postblend color. 2012-08-15 12:15:47 +02:00
Matteo Bruni 152a09ce75 wined3d: Use GL_FRAMEBUFFER_SRGB when possible. 2012-08-15 12:15:42 +02:00
Henri Verbeet 894d161891 wined3d: Call core GL functions through gl_info.gl_ops as well. 2012-07-25 20:10:08 +02:00
Henri Verbeet 1a93983bd4 wined3d: Use NAN. 2012-05-30 17:17:59 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02:00
Henri Verbeet 6eb5c891ac wined3d: Use ARB_texture_rg for WINED3DFMT_R16G16_UNORM textures when available. 2012-03-09 11:32:16 +01:00
Henri Verbeet 6d483c2d9d wined3d: Don't use floating point for surface height scaling.
This is the follow-up to commit a4e5bcff4c.
2012-03-08 17:57:54 +01:00
Henri Verbeet a4e5bcff4c wined3d: Use a format flag instead of a floating point comparison to determine if we need to apply heightscale. 2012-02-13 20:20:08 +01:00
Henri Verbeet bee9adbd05 wined3d: Get rid of the WINED3DDECLUSAGE typedef. 2012-01-19 11:56:47 +01:00
Henri Verbeet c35c30fa68 wined3d: Get rid of the WINED3DDECLMETHOD typedef. 2012-01-19 11:56:41 +01:00
Henri Verbeet e53a277305 wined3d: Get rid of the WINED3DPOOL typedef. 2012-01-18 12:37:38 +01:00
Henri Verbeet 6a5a098b23 wined3d: Get rid of the WINED3DRESOURCETYPE typedef. 2012-01-18 12:37:38 +01:00
Henri Verbeet e70990041b wined3d: Get rid of the WINED3DTEXTUREFILTERTYPE typedef. 2012-01-13 17:34:31 +01:00
Henri Verbeet 7dac3e0921 wined3d: Get rid of the WINED3DBASISTYPE typedef. 2012-01-12 12:37:24 +01:00
Henri Verbeet f38e94af7c wined3d: Get rid of the WINED3DTRANSFORMSTATETYPE typedef. 2012-01-12 12:37:18 +01:00
Henri Verbeet b6431d9493 wined3d: Get rid of the WINED3DTEXTUREOP typedef. 2012-01-11 17:47:22 +01:00
Henri Verbeet 7f7bc520b6 wined3d: Get rid of the WINED3DTEXTURETRANSFORMFLAGS typedef. 2012-01-10 10:47:30 +01:00
Henri Verbeet 43fcbcb36e wined3d: Get rid of the WINED3DTEXTURESTAGESTATETYPE typedef. 2012-01-10 10:47:27 +01:00
Henri Verbeet 08545dc739 wined3d: Get rid of the WINED3DSAMPLERSTATETYPE typedef. 2012-01-09 12:22:12 +01:00
Henri Verbeet de807eb21c wined3d: Allow 10-bpc formats as render targets. 2012-01-09 12:21:53 +01:00
Henri Verbeet fd8597b2bf wined3d: Get rid of the WINED3DSTENCILOP typedef. 2012-01-03 23:40:50 +01:00
Matteo Bruni fb38bad0c4 wined3d: Improve projection TEXTURETRANSFORMFLAGS handling in the ARB fragment ffp implementation. 2011-12-28 18:55:18 +01:00