Commit Graph

564 Commits

Author SHA1 Message Date
Stefan Dösinger 28af7b407b wined3d: Require FBO attachability for render targets and depth stencils. 2015-06-09 22:09:57 +09:00
Stefan Dösinger 04c3c97072 wined3d: Set WINED3DFMT_FLAG_FBO_ATTACHABLE on depth stencil formats. 2015-06-09 22:09:57 +09:00
Stefan Dösinger dc7cb59c3a wined3d: Keep track of renderbuffer capabilities. 2015-06-08 18:51:30 +09:00
Matteo Bruni b02a166cc8 wined3d: Introduce a get_fog_start_end() function. 2015-06-05 16:53:16 +09:00
Matteo Bruni 92fbe333d0 wined3d: Handle point sprites with PS 3.0. 2015-06-05 16:52:29 +09:00
Matteo Bruni 953a45303c wined3d: Introduce a get_pointsize() function. 2015-05-29 16:44:18 +09:00
Matteo Bruni 36520c3e9d wined3d: Introduce a get_pointsize_minmax() function. 2015-05-29 16:44:13 +09:00
Stefan Dösinger bd658a15b9 wined3d: Check resource types separately in check_fbo_compat. 2015-05-25 21:43:18 +09:00
Stefan Dösinger d030c5ad06 wined3d: Don't allow 3D depth textures. 2015-05-19 22:56:14 +09:00
Stefan Dösinger 0356cbfab9 wined3d: Fix a copy / paste mistake. 2015-05-08 14:37:17 +09:00
Matteo Bruni 0c05f9f8fd wined3d: Rename *emission* as *emissive*.
Emission is the OpenGL name, emissive the D3D one. Prefer the latter.
2015-05-05 18:50:56 +09:00
Matteo Bruni 15720f09de wined3d: Report ATI1N and ATI2N volume textures as not supported. 2015-04-30 19:58:01 +09:00
Stefan Dösinger 0152b0dad3 wined3d: Move the ARB_texture_rectangle check to init_format_texture_info. 2015-04-27 15:07:48 +09:00
Stefan Dösinger 0d6d64b358 wined3d: Move the ARB_texture_cube_map check to init_format_texture_info. 2015-04-27 15:07:46 +09:00
Stefan Dösinger 7109bebd02 wined3d: Move volume DXTn handling to apply_format_fixups. 2015-04-27 15:07:42 +09:00
Stefan Dösinger 072e1a3fb2 wined3d: Move the EXT_texture3D check to init_format_texture_info. 2015-04-24 19:08:45 +09:00
Stefan Dösinger 9def5ff409 wined3d: Query info for each resource type from ARB_internalformat_query2. 2015-04-24 19:08:41 +09:00
Stefan Dösinger 3c0ed9ce0a wined3d: Introduce resource-type specific format flags. 2015-04-24 19:08:35 +09:00
Stefan Dösinger 4fbaab2020 wined3d: Shadow format flags in wined3d_rendertarget_view. 2015-04-23 20:43:20 +09:00
Stefan Dösinger 382fa588a9 wined3d: Handle color key dirtification in wined3d_cs_exec_set_texture. 2015-04-15 22:21:57 +09:00
Stefan Dösinger f4b6874491 wined3d: Match blitter and fragment processing color keying capabilities.
This is necessary if e.g. the nvts or ffp fragment processing pipeline
is selected for debugging purposes on a GPU that otherwise supports the
ARB program blitter.
2015-04-10 21:43:51 +09:00
Stefan Dösinger 5d51c97d07 wined3d: Implement color keying in the glsl fragment pipeline. 2015-04-10 21:43:31 +09:00
Stefan Dösinger 82db5954c4 wined3d: Set color keys through the command stream. 2015-04-10 21:42:41 +09:00
Stefan Dösinger b413a4e202 wined3d: Add more formats to wined3d_format_convert_color_to_float. 2015-04-07 23:10:33 +09:00
Stefan Dösinger fa0a9232e0 wined3d: Move surface_convert_color_to_float to utils.c. 2015-04-07 23:10:30 +09:00
Stefan Dösinger 844c4efb47 wined3d: Give tex_type and its values a better name. 2015-04-03 00:33:28 +09:00
Henri Verbeet 94967c28b9 wined3d: Add support for half-integer pixel centers.
Like in OpenGL and Direct3D 10+.
2015-03-30 19:10:29 +09:00
Henri Verbeet 1b08196c5a wined3d: Implement d3d10 style instance data step rates. 2015-03-24 17:41:06 +09:00
Matteo Bruni 74cda79ac3 wined3d: Introduce a get_texture_matrix() function. 2015-03-23 22:59:20 +09:00
Matteo Bruni 2d270f31c6 wined3d: Introduce a get_projection_matrix() function.
Notice that I'm using floats instead of doubles in the new function,
mostly to be able to use struct wined3d_matrix and multiply_matrix().
At a rough estimate the precision should still be good enough.
2015-03-23 22:59:19 +09:00
Henri Verbeet ba396e4212 wined3d: Simplify the wined3d_matrix structure. 2015-03-20 21:32:46 +09:00
Matteo Bruni 50861156e2 wined3d: Introduce a get_modelview_matrix() function. 2015-03-19 20:56:45 +09:00
Matteo Bruni fe4a226bfa wined3d: Introduce a get_identity_matrix() function. 2015-03-19 20:56:42 +09:00
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
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