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
Jason Green
ac8f2c033c
wined3d: Improve traces for D3DTRANSFORMSTATETYPE.
...
Added debug function for WINED3DTRANSFORMSTATETYPE and changed all
references from D3DTS_* to WINED3DTS_*.
2006-07-24 19:55:27 +02:00
Stefan Dösinger
127613bc6f
wined3d: Whitelist pixelformats instead of blacklisting.
2006-07-24 12:57:34 +02:00
H. Verbeet
0924f969d1
wined3d: Texture stages that reference NULL textures should just pass
...
through the result of the previous stage.
2006-07-12 13:21:04 +02:00
Stefan Dösinger
1a82976908
wined3d: Flip WINED3DFMT_R8G8B8 to GL_RGB.
2006-07-06 12:45:27 +02:00
Ivan Gyurdiev
7e9fd0b4c1
wined3d: Add a function to print out D3DDECLUSAGE9 values.
2006-07-03 12:04:37 +02:00