Commit Graph

201 Commits

Author SHA1 Message Date
Stefan Dösinger 294f1b4aad wined3d: Add fog and tex types to the ffp fragment description. 2008-07-28 11:36:15 +02:00
Stefan Dösinger 726d9d47af wined3d: ATI2N support using GL_EXT_texture_compression_rgtc. 2008-07-24 11:56:42 +02:00
Stefan Dösinger dc25a86cc5 wined3d: Support ATI's D3DFMT_ATI2N format.
This is an ATI specific format designed for compressed normal maps,
and quite a few games check for its existence. While it is an
ATI-specific "extension" in d3d9, it is a core part of
D3D10(DXGI_FORMAT_BC5), and supported on Geforce 8 cards.
2008-07-24 11:56:24 +02:00
Stefan Dösinger eea2c95727 wined3d: Move set_tex_op(_nvrc) to their specific files. 2008-07-22 13:01:45 +02:00
Stefan Dösinger 212ff6ff57 wined3d: Remove some #ifdefs. 2008-07-22 13:01:22 +02:00
Philip Nilsson 9528b1c63e wined3d: Enable filtering for D3DFMT_A4R4G4B4.
This patch enables texture filtering for textures using the A4R4G4B4
format, I can see no reason why it shouldn't be filtered (especially
considering X4R4G4B4 has it).
2008-07-16 19:56:24 +02:00
Stefan Dösinger 197f472ea8 wined3d: Separate texture_activate_dimensions.
This creates an nvts version of this function, and removes the nvts
code from the original one. The nvts version is used by the nvts
pipeline implementation, the original one by the nvrc-only, atifs and
ffp one.
2008-07-14 11:46:25 +02:00
Stefan Dösinger 51e64b3fe9 wined3d: Move fixed function texture dimension updates to the fragment pipeline.
This is a further separation of the sampler state, and a preparation
to move the nv texture shader stuff to its own pipeline implementation.
2008-07-14 11:43:41 +02:00
H. Verbeet 02a2ba9d2f wined3d: Report post pixelshader blending on WINED3DFMT_A16B16G16R16F. 2008-06-23 12:55:02 +02:00
H. Verbeet e081d69bc1 wined3d: Report WINED3DFMT_FLAG_FILTERING on WINED3DFMT_D24X8.
We report this for WINED3DFMT_D24S8, so there should be no reason
WINED3DFMT_D24X8 can't do it. Fixes a regression in 3DMark06.
2008-06-20 11:20:05 +02:00
H. Verbeet 3687207a04 wined3d: Fix WINED3DTOP_MULTIPLYADD for ATI cards. 2008-06-03 11:11:30 +02:00
H. Verbeet 8e6c7aaf1f wined3d: Fix the nvrc implementation of WINED3DTOP_MULTIPLYADD and WINED3DTOP_LERP. 2008-05-27 12:04:22 +02:00
H. Verbeet e891a9938a wined3d: Add WINED3DTOP_ADDSIGNED2X to debug_d3dtop(). 2008-05-27 12:04:11 +02:00
Stefan Dösinger 9ee7e42de8 wined3d: Call activate_dimensions from the atifs code. 2008-04-24 11:54:28 +02:00
Austin English c531e2abdb Spelling fixes. 2008-04-23 12:31:07 +02:00
Stefan Dösinger b1d8af7926 wined3d: Update copyright lines. 2008-04-02 20:22:42 +02:00
Stefan Dösinger bd68237096 wined3d: Implement TSSARGTEMP with register combiners. 2008-04-02 20:07:40 +02:00
Stefan Dösinger 287f60a2b2 wined3d: Implement D3DTA_TEMP in the GL_ATI_fragment_shader codepath. 2008-04-02 20:07:19 +02:00
Stefan Dösinger 8673be0bd7 wined3d: Return a fake pixel format if gl is not loaded. 2008-04-01 20:31:37 +02:00
Roderick Colenbrander c0be6047ef wined3d: Also move the rendertarget capability to the formats table. 2008-03-29 10:31:50 +01:00
Roderick Colenbrander ef73fe5d47 wined3d: Add a depthstencil flag to the formats table and make use of it in CheckDepthStencilCapability. 2008-03-29 10:31:36 +01:00
Roderick Colenbrander e1bf1cd640 wined3d: Make the filtering capability of a format a flag in the formats table. 2008-03-29 10:31:18 +01:00
Roderick Colenbrander 4eaa424c79 wined3d: Initial post pixelshader blending support. [attempt 2].
For each pixel format we store a flag in the table whether it supports
post pixelshader blending. Before applying blending or during a
context switch we verify that blending is turned off for the
format. In case of R32F this gave a 5-6x performance boost (without
filtering and software conversion).
2008-03-28 15:50:24 +01:00
Stefan Dösinger 1fdc0ee811 wined3d: Remove some debug TRACE stuff. 2008-03-28 14:51:25 +01:00
Stefan Dösinger 9b79bc5e31 wined3d: Implement env bump mapping in the atifs ffp replacement. 2008-03-25 19:50:43 +01:00
Stefan Dösinger 4640be8dc8 wined3d: Fragment processing using GL_ATI_fragment_shader.
This adds code for handling fixed function fragment processing with the
GL_ATI_fragment_shader extension. This is a sort-of programmable
interface for fragment processing at the level of shader model 1.4 in
d3d. This code is of use on r200, r250 and r280 cards(radeon 8500 to
9200) which do not support GL_ARB_fragment_program, but support pixel
shader 1.4 on Windows. This code is somewhat a counterpart to the
existing fragment processing code using GL_NV_register_combiners and
GL_NV_texture_shader.
2008-03-25 19:50:32 +01:00
Roderick Colenbrander 2e0d35aa2f wined3d: Add D32F_LOCKABLE to getDepthStencilBits. 2008-03-03 12:00:39 +01:00
Roderick Colenbrander e2d70fff6b ddraw: Add yv12 detection support. 2008-02-22 12:04:01 +01:00
Austin English 3471f841a1 wined3d: Spelling fixes. 2008-01-18 12:53:33 +01:00
Stefan Dösinger b83dc6bbf6 wined3d: Move the GL info structure into the adapter. 2007-12-20 12:10:08 +01:00
Stefan Dösinger df77e28854 wined3d: Implement D3DFMT_G16R16. 2007-12-18 14:08:18 +01:00
Stefan Dösinger f700cbe74b wined3d: Add an alpha blending test. 2007-12-07 16:26:43 +01:00
Stefan Dösinger 8804a972d9 wined3d: Unify bpp to format conversion. 2007-12-03 13:44:18 +01:00
Stefan Dösinger 3fd0916654 wined3d: Make the code aware of GL_ARB_texture_rectangle. 2007-11-29 13:36:37 +01:00
Stefan Dösinger a0127f2e1f wined3d: Allow using a different internal format for fbos.
OpenGL drivers do not support some low precision internal formats
like GL_RGB5 for fbo color targets. Direct3D application depend on them,
so provide a fallback format for render targets if the requested format
itself is not supported.
2007-11-28 13:40:29 +01:00
Stefan Dösinger d050b4de9e wined3d: Reinstall the projected texture disabling for generated coords. 2007-11-09 12:35:40 +01:00
Stefan Dösinger bf9cc30aac wined3d: Put V8U8 back into the UNKNOWN format group. 2007-09-25 11:20:33 +02:00
Stefan Dösinger 1c4a15d2cd wined3d: Recompile glsl pixelshaders if the sampler format changes. 2007-09-24 13:30:08 +02:00
Stefan Dösinger 0ed81b20af wined3d: Emulate D3DFMT_L6V5U5. 2007-09-12 12:09:56 +02:00
Stefan Dösinger 41bf0d48db wined3d: Fix WINED3DFMT_X8L8V8U8. 2007-09-11 13:48:15 +02:00
Chris Robinson 8d32a490a1 wined3d: Add X4R4G4B4 and A4R4G4B4 to formats allowed in getColorBits. 2007-09-10 16:41:18 +02:00
Stefan Dösinger fe0f0eb48a wined3d: Some texture transform fixes. 2007-08-27 18:28:43 +02:00
Stefan Dösinger a8e21d0692 wined3d: Texture transforms are disabled when drawing rhw vertices. 2007-08-27 18:28:38 +02:00
Stefan Dösinger a7a0d4dfd1 wined3d: Fix some alpha channels in formats. 2007-08-20 22:32:08 +02:00
Stefan Dösinger 56a7486235 wined3d: Fix WINED3DFMT_R3G3B2. 2007-08-16 11:35:06 +02:00
Roderick Colenbrander 4cd5298a57 wined3d: Add more pixelformats to getColorBits. 2007-08-13 12:37:23 +02:00
Roderick Colenbrander f6260c5b20 wined3d: Fix WINED3DFMT D16/L16 bugs in the pixelformat table. 2007-08-13 12:36:37 +02:00
Roderick Colenbrander 4647cbb625 wined3d: Better pixelformat selection code. 2007-08-09 14:11:19 +02:00
Roderick Colenbrander 58275065a1 wined3d: Prepare pbuffer code for WGL transition. 2007-08-08 15:32:01 +02:00
Stefan Dösinger 5c905b9e8c wined3d: A more dynamic initialization of the gl pixel formats. 2007-07-30 12:49:59 +02:00
Stefan Dösinger d2016ff892 wined3d: Store the gl format table in the gl info structure. 2007-07-30 12:49:50 +02:00
Stefan Dösinger a0131a3272 wined3d: Split up the format table. 2007-07-30 12:49:39 +02:00
Michael Stefaniuc 82a52308ac wined3d: Remove unreachable code: break after return. Found by Smatch. 2007-07-18 12:57:58 +02:00
Stefan Dösinger 26ebe396c3 wined3d: Implement high order patches. 2007-07-06 19:32:47 +02:00
H. Verbeet b16dbf46da wined3d: Mask texture stage state arguments with WINED3DTA_SELECTMASK when comparing them. 2007-06-18 12:33:56 +02:00
Phil Costin 2256e06de3 wined3d: Add gamma linerization support for D3DFMT_A4R4G4B4. 2007-06-13 11:22:42 +02:00
Stefan Dösinger a460a2df43 wined3d: Store the gl information in a per adapter structure and initialize it only once. 2007-06-11 13:51:06 +02:00
Chris Robinson 11a6646102 wined3d: Add missing table entry value. 2007-06-08 11:59:36 +02:00
Phil Costin 08ae3d6f67 wined3d: Extend the D3DFMT table to include gamma corrected formats. 2007-06-07 13:01:36 +02:00
Stefan Dösinger e40af7d3fa wined3d: Prevent wrong bumpenvmap warnings. 2007-05-11 11:28:20 +02:00
Stefan Dösinger 81504d6a2d wined3d: Support bump environment mapping using GL_NV_texture_shader. 2007-05-10 11:40:27 +02:00
Stefan Dösinger 28170f0474 wined3d: Implement environment bump mapping with GL_ATI_envmap_bumpmap. 2007-05-09 12:07:32 +02:00
Stefan Dösinger d913744f1e d3d: Calculate the size of WINED3DFVF_XYZBx FVFs. 2007-05-03 14:24:16 +02:00
H. Verbeet b643ab3620 wined3d: Output pretty GL errors in checkGLcall and vcheckGLcall. 2007-04-24 10:19:51 +02:00
H. Verbeet a7638ac5a2 wined3d: Remove GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT from debug_fbostatus(). 2007-04-19 11:56:23 +02:00
H. Verbeet b154081356 wined3d: Use GL_UNSIGNED_BYTE as data type for WINED3DFMT_A8. 2007-04-17 11:11:55 +02:00
H. Verbeet c4cc10a595 wined3d: Add a function for dumping FBO status codes. 2007-04-17 11:11:31 +02:00
H. Verbeet 75108443ff wined3d: Add a function to dump WINED3DTEXTUREFILTERTYPE values. 2007-04-09 12:39:35 +02:00
Stefan Dösinger fcb83e7111 wined3d: Activate a context before doing opengl calls. 2007-03-19 12:22:57 +01:00
Stefan Huehner 4d1d01f266 Mark several functions as static. 2007-03-13 13:35:12 +01:00
Fabian Bieler 8dae597f24 wined3d: Implemented signed texture formats via NV_TEXTURE_SHADER. 2007-03-13 11:51:56 +01:00
Stefan Dösinger c54a0fc2cf wined3d: Rework surface dirtification.
Previously the surfaces stored a flag if the system memory copy was
ahead of the gl copy(SFLAG_DIRTY) or the gl copy is
ahead(SFLAG_GLDIRTY). The pbuffer copy was 'managed' differently using
SFLAG_INPBUFFER and SFLAG_INTEXTURE.

This patch replaces them with 3 flags, INSYSMEM, INPBUFFER and
INTEXTURE which specify which copy contains the most up to date
copy. It is perfectly valid to have more than one of those flags
set. One must be set at least (except at init, when no content is in
the surface yet). When one copy is modified, the flags for the others
are removed.
2007-03-07 12:18:14 +01:00
H. Verbeet 2a82ed89b1 wined3d: Add some hash table code. 2007-02-28 13:35:16 +01:00
Stefan Dösinger de036ff68e wined3d: Convert and load U8V8 surfaces as rgb.
GL_INDEX is definitly not the way to load U8V8 surfaces
2007-02-15 11:36:28 +01:00
H. Verbeet 8f0884066f wined3d: Add WINED3DDECLUSAGE, use it. 2007-02-14 13:50:22 +01:00
Francois Gouget d4ca34dd9b d3d: Fix the D3DFMT_XXX constant declarations. 2007-01-18 12:05:05 +01:00
Stefan Dösinger 60c9ea6751 wined3d: Remove dead NV_TEXTURE_SHADER code 2007-01-10 22:03:50 +01:00
Stefan Dösinger f661a8287c wined3d: Add WINED3DRS_STIPPLEPATTERNxy. 2006-12-19 16:53:44 +01:00
Andrew Talbot f3a515ce19 wined3d: Cast-qual warnings fix. 2006-11-27 13:43:05 +01:00
H. Verbeet 44f4e254a6 wined3d: Fix depth buffer formats to use actual depth textures. 2006-11-17 15:54:01 +01:00
Ivan Gyurdiev 875a1eb02d wined3d: Add D3DFVF codes to the WINED3D namespace. 2006-10-31 12:09:06 +01:00
Ivan Gyurdiev 206d248e48 wined3d: Add D3DCMPFUNC to the WINED3D namespace. 2006-10-30 12:06:10 +01:00
Ivan Gyurdiev 2b6deb8637 wined3d: Add D3DSTENCILOP to the WINED3D namespace. 2006-10-30 12:06:03 +01:00
Ivan Gyurdiev 4f611bc0e0 wined3d: Add D3DTA masks to the WINED3D namespace.
Also fix usage of D3DTSS/D3DTA in ddraw.
2006-10-24 20:06:30 +02:00
Ivan Gyurdiev 9846602412 wined3d: Add D3DTEXTURETRANSFORMTYPE to the WINED3D namespace. 2006-10-13 11:15:31 +02:00
Ivan Gyurdiev c912032aa5 wined3d: Add D3DTEXTUREOP to the WINED3D namespace. 2006-10-13 11:13:02 +02:00
Ivan Gyurdiev 2bac4a02da wined3d: Merge D3DPRIMITIVETYPE types into one type in WINED3D namespace. 2006-10-12 12:37:52 +02:00
Ivan Gyurdiev ac37163124 wined3d: Merge D3DMATRIX types into one type in WINED3D namespace. 2006-10-12 12:35:00 +02:00
Ivan Gyurdiev 837027fcb7 wined3d: D3DTEXTURESTAGESTATETYPE: Consistently use in WINED3D namespace. 2006-10-11 12:18:53 +02:00
Ivan Gyurdiev 19c5534c35 wined3d: D3DDEVTYPE: Consistently use in WINED3D namespace. 2006-10-11 12:17:52 +02:00
Ivan Gyurdiev fb0c932f21 wined3d: D3DFORMAT: Consistently use WINED3D namespace. 2006-10-11 12:17:21 +02:00
Francois Gouget 82babbee0b Add missing '\n's to Wine traces. 2006-10-05 17:46:48 +02:00
Ivan Gyurdiev 3dcd3681f3 wined3d: Win64 printf fixes. 2006-10-02 14:38:04 +02:00
H. Verbeet 5abdd7a19f wined3d: Comparing BOOLs against FALSE is redundant. 2006-09-27 09:49:07 +02:00
H. Verbeet 87fe835f5b wined3d: Cleanup the surface loading code a bit.
- Separate allocation and uploading of textures.
- Move common code for allocating, uploading and downloading textures
  into separate functions.
- Set the correct format and type for DXT textures.
2006-09-12 10:52:59 +02:00
Ivan Gyurdiev 2e1cf4d948 wined3d: Add support for R32F and R16F texture formats. 2006-09-07 13:48:32 +02:00
Ivan Gyurdiev bda6d092a5 wined3d: Add support for A16B16G16R16F and A32B32G32R32F texture formats. 2006-08-28 11:46:20 +02:00
Jan Zerebecki fd15b8d064 wined3d: Use a common function for all D3DCMPFUNC -> GLenum conversions. 2006-08-25 20:04:56 +02:00
H. Verbeet 02a8f74490 wined3d: Add a couple of traces to the vertexdeclaration creation code. 2006-08-07 19:42:31 +02:00
Jason Green d353ab7879 wined3d: Start checking for D3DUSAGE_QUERY_* items, improve traces. 2006-07-29 11:49:51 +02:00