Commit Graph

563 Commits

Author SHA1 Message Date
Roderick Colenbrander 7238bce79d wined3d: Add GL_ARB_texture_rg / GL_EXT_texture_swizzle support. These extensions are needed for more efficient R32F/RG32F support. 2008-12-19 17:48:55 +01:00
Henri Verbeet d099dde7a9 wined3d: Track shader constants in the shader backend. 2008-12-18 13:17:02 +01:00
Stefan Dösinger 2aa7a7fe16 wined3d: Avoid loading opengl32.dll.
This confuses applications like Steam, which hook d3d9 and opengl
functions. It sees that the application uses opengl32, but it doesn't
realize that d3d9 is wrapped to opengl. Thus it starts messing around
with wined3d's wgl context. It usually tries to draw geometry with the
context, but cannot deal with some of the obscure extensions we have
activated.
2008-12-16 14:36:17 +01:00
Stefan Dösinger 4bc5e760b6 wined3d: Initialize max_combined_samplers properly.
Otherwise it will be 0 if GL_ARB_multitexture is not available.
2008-12-16 14:36:02 +01:00
Stefan Dösinger 199a3468bf wined3d: Fake GL_ARB_multitexture. 2008-12-16 14:31:25 +01:00
Henri Verbeet 89139b7589 wined3d: Make shader texture format fixups more generic.
Based on a patch by Stefan Dösinger. This is more flexible, and allows
the shader backend implementation to be simpler, since it doesn't have
to know about specific formats. The next patch makes use of this.
2008-12-04 11:59:58 +01:00
Henri Verbeet b451048eb7 wined3d: Move GlPixelFormatDesc to wined3d_private.h where it belongs.
Also remove the silly typedef.
2008-12-04 11:59:06 +01:00
Alexandre Julliard 9c306e9871 wined3d: Make some functions and variables static. 2008-12-02 15:31:17 +01:00
Henri Verbeet 50ebf26894 wined3d: Const correctness fixes for directx.c. 2008-12-01 12:45:10 +01:00
Henri Verbeet 942f82100a wined3d: Remove some superfluous casts. 2008-12-01 12:45:01 +01:00
Andrew Talbot f40afa87c6 wined3d: Sign-compare warnings fix. 2008-11-28 12:57:25 +01:00
Henri Verbeet c7880e8916 wined3d: Make minMipLookup_noFilter and magLookup_noFilter const.
Note that minMipLookup and magLookup aren't particularly safe to use,
they're global arrays initialized from IWineD3DImpl_FillGLCaps(). The same
goes for the other global dynamic lookup tables.
2008-11-28 12:53:57 +01:00
Roderick Colenbrander 273357264a wined3d: Add registry key for overriding the pci vendor id. 2008-11-24 14:52:32 +01:00
Roderick Colenbrander 52d59718c7 wined3d: Add registry key for overriding pci device id. 2008-11-24 14:52:25 +01:00
Vincent Pelletier f442bafb8a wined3d: Add detection for NVIDIA's GTX 280. 2008-11-24 14:41:58 +01:00
Roderick Colenbrander f571ecd23c wined3d: Add two missing D3D8/D3D9 capabilities. 2008-11-10 12:57:30 +01:00
Stefan Dösinger 620a423b22 wined3d: Kill the GL_ATI_envmap_bumpmap code.
GL_ATI_envmap_bumpmap provides two things: Signed V8U8 pixel formats,
and bump mapping. The extension is only supported on fglrx, and this
driver also supports GL_ARB_fragment_program.  Thus the bump mapping
code is never used on any driver out there.  Furthermore, if it is
used, it tends to crash the driver

The signed pixel format is used, as it can be used by pixel shaders or
the ARBfp replacement. However, the format is broken in fglrx, and
negative values are clamped to 0.0. This results in test
failures. WineD3D has an alternative codepath using scale+bias to
enable V8U8 using a standard signed RGB which works correctly on
fglrx.
2008-11-04 11:41:14 +01:00
Henri Verbeet 2188aa87d6 wined3d: Add support for EXT_framebuffer_multisample. 2008-10-20 12:23:16 +02:00
Alexandre Julliard 6cfef95ce7 wined3d: Convert source files to utf-8. 2008-10-18 19:21:20 +02:00
Henri Verbeet 937ceda47f wined3d: Remove a redundant initialization of cfgs in CheckDepthStencilCapability (LLVM/Clang). 2008-10-09 12:13:53 +02:00
Henri Verbeet 3a7fcec4d7 wined3d: Handle texture coordinates the same way we handle other vertex attributes. 2008-09-25 11:53:10 +02:00
Allan Tong 43f2ec33bf wined3d: Fix Geforce9 detection. 2008-09-19 12:09:57 +02:00
Stefan Dösinger d5f05c59c7 ddraw: Beware of the surface type when checking for format support. 2008-09-02 14:56:26 +02:00
Francois Gouget 4823b2c7bf Assorted spelling fixes. 2008-09-02 13:58:21 +02:00
Stefan Dösinger ec4955630e wined3d: Silence some format spam. 2008-08-28 11:24:49 +02:00
Stefan Dösinger 462ddaa254 wined3d: Make the texture stage mapping nvrc independent. 2008-08-27 13:21:24 +02:00
Stefan Dösinger 97b57931d0 wined3d: Advertise a few line caps. 2008-08-27 13:21:24 +02:00
Stefan Dösinger 6bbcc5050b wined3d: Disable D3DFMT_R3G3B2. 2008-08-27 13:21:23 +02:00
Stefan Dösinger 9a6bc683e1 wined3d: Use the correct texture limit.
We have to use the texture limit of the fragment pipeline in use here,
not the fixed function GL texture limit.
2008-08-26 12:07:41 +02:00
Stefan Dösinger 61a900fdfc wined3d: Fix the drawStridedSlow callback function calling convention.
Since some of those function pointers are direct GL functions the function
prototype needs the WINE_GLAPI calling convention. This makes prevents
drawStridedSlow from crashing with USE_WIN32_OPENGL.
2008-08-25 12:26:17 +02:00
Stefan Dösinger ec633bf789 wined3d: Disable D3DFMT_A2W10V10U10. 2008-08-25 12:25:33 +02:00
Stefan Dösinger 1043a04673 wined3d: Disable D3DFMT_A4L4. 2008-08-25 12:25:23 +02:00
Henri Verbeet 6fbbcd19e7 wined3d: Move a TRACE up a few lines. 2008-08-25 11:39:16 +02:00
Chris Robinson eca8577d53 wined3d: Use 8 bits-per-component for the PBO test internal format.
GL_RGBA doesn't gaurantee an internal storage depth, which can cause the test 
to fail if it's stored with less than 8 bits of precision. Some nVidia 
drivers would actually store with 4 bits of precision.
2008-08-25 11:29:38 +02:00
Alexander Dorofeyev 03ae71dad9 wined3d: Set D3DPTEXTURECAPS_TRANSPARENCY.
It indicates support of colorkey transparency on textures, so set it because 
wined3d supports it. Fixes transparency problems in Forsaken.
2008-08-21 13:35:30 +02:00
Stefan Dösinger 1f4cf3513d wined3d: Implement YUV emulation with GL_ARB_fragment_program. 2008-08-20 12:26:14 +02:00
Stefan Dösinger bfe7067973 wined3d: Ask the ffp/shader/blit implementation about format support.
If a format is not supported natively by opengl, a shader may be able
to convert it. Up to now, CheckDeviceFormat had magic knowldge which
GL extensions lead to which supported format. This patch adds
functions that allow CheckDeviceFormat to ask the actual
implementation for its capabilities.
2008-08-20 12:26:02 +02:00
Stefan Dösinger 438b6bd4c3 wined3d: Test formats for surface support. 2008-08-20 12:25:46 +02:00
Stefan Dösinger fc6b977486 wined3d: Start a framework for color conversion shaders in blits. 2008-08-20 12:25:26 +02:00
Stefan Dösinger 6a24b28b75 wined3d: Support YUV formats with GL_APPLE_ycbcr_422. 2008-08-20 12:25:00 +02:00
Tobias Jakobi 2583975ec7 wined3d: Remove arb_tex_npot for NV FX series in fixup_extensions. 2008-08-04 14:05:01 +02:00
Stefan Dösinger e9827cc916 wined3d: Always load glFinish and glFlush from opengl32.dll. 2008-08-04 13:12:10 +02:00
Stefan Dösinger 399825cd8e wined3d: Report the pitch alignment to ddraw. 2008-08-04 13:10:37 +02:00
Stefan Dösinger 8ee4159e4f wined3d: Only set D3D caps when GL was loaded successfully. 2008-08-04 13:10:20 +02:00
Stefan Dösinger a47e7badb9 ddraw: Set ddraw caps in wined3d.
Currently the ddraw capabilities were almost static, except of D3D
support. When overlay support is added, the caps depend on certain
settings in WineD3D or capabilities available from OpenGL and Xv. So
set those caps in wined3d as well.
2008-08-04 13:10:11 +02:00
Stefan Dösinger 14b24058d6 wined3d: GL_ARB_fragment_program ffp implementation. 2008-07-31 13:02:04 +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 bfd1ac26e2 wined3d: Set WINED3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET. 2008-07-22 13:01:15 +02:00
Stefan Dösinger c088edeae7 wined3d: Use GL_ARB_texture_non_power_of_two emulation.
ATI cards prior to the radeon HD series did not have unconditional non
power of two support. So far we've used texture_rectangle for that, or
created a bigger power of two texture with padding. This had the
disadvantage that we had to correct the coordinates, which causes
extreme problems with shaders(doesn't work, pretty much).

Both the MacOS and the fglrx driver have support for
GL_ARB_texture_non_power_of_two, and run it on the hardware as long as
we stay within the texture_rectangle limitations. This allows us to
have conditional non power of two textures with normalized
coordinates. This patch adds an internal extension, and the code
creates a regular GL_TEXTURE_2D texture with NP2 size, but refuses
mipmapping, filtering and texture_rectangle incompatible
operations. This makes np2 textures work with shaders on fglrx and
macos.
2008-07-18 11:41:09 +02:00
Stefan Dösinger e5f42f91b6 wined3d: Remove GL_EXT_vertex_weighting stubs. 2008-07-18 11:40:00 +02:00
Stefan Dösinger 35f33ef409 wined3d: Add extension information to the states.
This patch adds a new field to the state templates. If this extension
field is != 0, then the line is only applied to the final state table
if the extension is supported. Once a line is applied to the final
table, all further templates for this state from the same pipeline
part are ignored. This allows removing some extension checks from the
state handlers, which cleans them up and saves a few CPU cycles when
applying the states.
2008-07-17 11:44:08 +02:00
Andrew Talbot 0064976d54 wined3d: Remove unneeded address-of operators from array names. 2008-07-14 11:50:22 +02:00
Stefan Dösinger 86b033bbb9 wined3d: Give the nvts/nvrc code its own pipeline implementation.
This code creates the structures and the pipeline selection, as well
as the caps filling. It does not yet move the actual code around,
since this will be a bigger task.
2008-07-14 11:44:26 +02:00
Stefan Dösinger 7c216b8ab5 wined3d: Simplify the fragment pipeline selection.
This should do the same as the existing code, but it is more obvious.
2008-07-14 11:43:51 +02:00
Stefan Dösinger e7733eacb7 wined3d: Remove the atifs shader backend.
Since atifs is only doing the fragment pipeline replacement right now
there is no need for the shader backend structure any longer. The ffp
private data is stored in new fragment pipeline private data(which
could potentially be set to equal the shader private data if needed).
2008-07-14 11:43:09 +02:00
Stefan Dösinger e4078fb0ba wined3d: Set ffp caps in the ffp backend, not the shader backend. 2008-07-11 14:32:53 +02:00
Stefan Dösinger c48195e417 wined3d: Move shader_fragment_enable to the fragment pipeline implementation.
It isn't related to the shader backend any longer. The nvts_enable in
the ffp code isn't quite right as well, it should be moved away once
there is a dedicated nvts fragment pipeline replacement
2008-07-11 14:32:37 +02:00
Francois Gouget dbaec0a101 Assorted spelling fixes. 2008-07-10 13:40:15 +02:00
Stefan Dösinger 3a2743f25d wined3d: Remove the state table from the shader backend. 2008-07-08 21:08:54 +02:00
Stefan Dösinger c15dfb87e9 wined3d: Create fragment processing state templates and select one.
For now the atifs selection sticks to the old rules, thus it is bound to
the available and selected shader capabilities. We may want to change that
in the future.
2008-07-08 21:08:54 +02:00
Stefan Dösinger 141f31f05d wined3d: Move stream source and vshader to misc and vertex pipeline tables. 2008-07-08 10:46:42 +02:00
Stefan Dösinger 68dec9d161 wined3d: Implement the state merger and start to use it. 2008-07-08 10:46:20 +02:00
Stefan Dösinger 98faed8ff5 wined3d: Start the state splitup.
The idea of this patchset is to split the monolithic state set into 3
parts, vertex processing, fragment processing and other states(depth,
stencil, scissor, ...). The states will be provided in templates which
can be (mostly) independently combined, and are merged into a single
state table at device creation time. This way we retain the advantages
of the single state table and having the advantage of separated
pipeline implementations which can be combined without any manually
written glue code.
2008-07-08 10:45:56 +02:00
Maarten Lankhorst 422d71f630 wined3d: Fix a deadlock that may occur during initialization. 2008-07-03 11:50:52 +02:00
H. Verbeet ad59eaf998 wined3d: Report WINED3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING.
As far as I can tell we support post ps blending in combination with
MRTs fine. Tabula Rasa needs this cap in order to enable some of the
higher graphics settings.
2008-06-27 11:10:04 +02:00
H. Verbeet ebcb5f23a1 wined3d: Half float formats need ARB_TEXTURE_FLOAT as well.
Currently we only check if ARB_HALF_FLOAT_PIXEL is supported. This is
not enough, we need ARB_TEXTURE_FLOAT as well. This fixes some errors
when running the d3d9 visual test with Mesa swrast.
2008-06-23 12:55:08 +02:00
Roderick Colenbrander ee3bbccf6e wined3d: Update the Nvidia driver version to 173.41 and also put it in the right format e.g. 7.15.11.7341 instead of 7.15.10.17341. 2008-06-23 12:53:45 +02:00
H. Verbeet c835b00a36 wined3d: Handle depth formats like any other format in CheckDeviceFormat.
Currently depth formats are handled separately from the other formats,
but depth formats can support things like filtering as well, so we
should check those caps as well.
2008-06-20 11:19:58 +02:00
H. Verbeet 4a4ab5f2ae wined3d: Add support for ARB_color_buffer_float. 2008-06-19 11:47:34 +02:00
Roderick Colenbrander 88b4f29222 wined3d: Add a Geforce9 driver version (right now garbage is returned). 2008-06-18 15:21:56 +02:00
Roderick Colenbrander b73b2eca47 wined3d: Update ATI GPUs. 2008-06-09 12:40:22 +02:00
Roderick Colenbrander 38a98f6789 wined3d: Update nvidia GPUs. 2008-06-09 12:40:10 +02:00
Roderick Colenbrander 042d0394dc wined3d: Add a registry key to allow/disallow multisampling.
Right now it is set to disabled due to an Nvidia GLXBadDrawable
bug. Second there is some issue (driver bug too?) in FBO mode.
2008-06-03 11:17:09 +02:00
Roderick Colenbrander 7b5561cbb8 wined3d: Allow stencil support when it wasn't requested on broken drivers. 2008-05-05 21:03:39 +02:00
Roderick Colenbrander 02bab6edbe wined3d: Fix typo in pixel format trace. 2008-05-01 18:11:26 +02:00
Roderick Colenbrander 628e4eece3 wined3d: Add multisampling support. 2008-04-30 10:23:25 +02:00
Roderick Colenbrander 31dc00a073 wined3d: Store more information about pixel formats. This is needed for some WineD3D_ChoosePixelFormat restructuring. 2008-04-28 13:27:51 +02:00
Roderick Colenbrander f0307d9366 wgl: Add a wine specific WGL extension which allows you to change the pixel format multiple times. 2008-04-24 12:32:38 +02:00
Austin English c531e2abdb Spelling fixes. 2008-04-23 12:31:07 +02:00
Austin English 6e59cd2c34 Spelling fixes. 2008-04-22 12:20:12 +02:00
Stefan Dösinger 481bcdfe2a wined3d: Disable MAG filters on formats that do not support them. 2008-04-09 11:53:35 +02:00
Stefan Dösinger a22203adeb wined3d: Make the mag filter lookup a separate array.
This makes it easier to make this a per texture / per adapter property.
Somewhen we should rename the remaining lookup type in the general
lookup table to wraplookup.
2008-04-09 11:48:30 +02:00
Stefan Dösinger 0cbd08b2b9 wined3d: Disable texture filtering on textures that do not support it.
OpenGL always offers filtering on all formats, and if the hardware
doesn't support it the driver falls back to software. Direct3D on the
other hand silently disables filtering, so that's what we should do too.
2008-04-09 11:48:13 +02:00
Stefan Dösinger 98b56c3ff0 wined3d: Report D3DUSAGE_QUERY_WRAPANDMIP support. 2008-04-09 11:47:49 +02:00
Stefan Dösinger 67e0943ba3 wined3d: Store the number of aux buffers in the context. 2008-04-09 11:47:24 +02:00
Francois Gouget 8a18e0e43a Assorted spelling fixes. 2008-04-07 13:36:18 +02:00
Stefan Dösinger 03bacf7247 wined3d: Advertise shader emulation of bumpmap formats. 2008-04-04 11:05:07 +02:00
Stefan Dösinger ffbc96b43c wined3d: Advertize postpixelshader blending for surfaces. 2008-04-04 11:04:58 +02:00
Stefan Dösinger b1d8af7926 wined3d: Update copyright lines. 2008-04-02 20:22:42 +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 9e831a8733 wined3d: Create a fake non-gl adapter. 2008-04-01 20:31:30 +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 69a40127c6 wined3d: Add D3DUSAGE_QUERY_PIXELSHADER_BLENDING to CheckDeviceFormat. 2008-03-28 15:50:36 +01:00
Stefan Dösinger 39e2cbc5d5 wined3d: Enable D3DFMT_V8U8 with GL_ATI_fragment_shader. 2008-03-25 19:50:55 +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
Stefan Dösinger 18e16f4e66 wined3d: Add GL_ATI_fragment_shader. 2008-03-25 19:48:35 +01:00
Stefan Dösinger 28fdebe404 wined3d: Alloc / free shader private data and blt stuff in Init3D/Uninit3D. 2008-03-25 19:48:24 +01:00
Stefan Dösinger ee7e149998 wined3d: Move shader caps setting into the arb and glsl shader backends. 2008-03-25 19:39:23 +01:00
Stefan Dösinger 5ab5202e0f wined3d: Set shader specific caps in the shader backend.
The whole control structures in directx.c get terribly confusing with
the various codepaths for texturing and different shader
implementations. It is also hard to reflect the shader model
decisions this way too. This patch moves the shader specific parts of
the caps code into the shader backend where we can set our caps
dependent of the shader model decisions and without complex caps flag
checks.
2008-03-25 19:39:11 +01:00
Stefan Dösinger 8869c0f147 d3d: De-pointerize the WINED3DCAPS structure. 2008-03-25 19:36:38 +01:00
Stefan Dösinger 6d5f562dcf wined3d: Move the shader backend selection into a separate function. 2008-03-25 19:36:13 +01:00
Roderick Colenbrander eaa1ff0d2c wined3d: Always report D16 as Windows drivers report it on all cards (likely using emulation). 2008-03-25 16:14:03 +01:00
Roderick Colenbrander cb9252db36 wined3d: Fix a typo in CheckSrgbWriteCapability. We support both X8R8G8B8 and A8R8G8B8. 2008-03-24 20:39:50 +01:00
Roderick Colenbrander 9123e8f374 wined3d: Add more debug code to CheckDeviceFormat. 2008-03-24 20:39:37 +01:00
Roderick Colenbrander e749825793 wined3d: CheckTextureCapability returns TRUE for V8U8. 2008-03-24 12:08:34 +01:00
Roderick Colenbrander 856af1b5d7 wined3d: Add srgb write support to CheckDeviceFormat. 2008-03-22 12:23:23 +01:00
Roderick Colenbrander 9e9ef6238a wined3d: Remove unneeded code in CheckDeviceFormat.
All these checks are done during the capability checks which are
performed under the resource type checks.
2008-03-22 11:46:25 +01:00
Roderick Colenbrander 5d151c0ffc wined3d: Don't continue with CheckDeviceFormat when the texture format isn't around.
It is legal to pass Usage=0 to CheckDeviceFormat and in both this case
and in the case a format isn't available UsageCaps would be 0 and a
format would be reported available.
2008-03-22 11:45:58 +01:00
Roderick Colenbrander 460f0d1608 wined3d: Return WINED3DERR_NOTAVAILABLE when cubemapping isn't supported. 2008-03-22 11:45:41 +01:00
Roderick Colenbrander 616944ae7e wined3d: Add reporting of D3DRTYPE_VOLUME capabilties.
We assume it has the same capabilities as VOLUMETEXTURE. MSDN is very
vague on this topic. Intel/Nvidia/ATI drivers seem to offer nearly the
same caps on both, so do that too.
2008-03-22 11:45:31 +01:00
Roderick Colenbrander 6f3127291f wined3d: When volume textures aren't around (GL_EXT_texture3D not supported) return WINED3DERR_NOTAVAILABLE. 2008-03-22 11:44:11 +01:00
Roderick Colenbrander eef51ed4ca wined3d: We don't offer index/vertex buffer caps. Neither do Windows drivers (at least Nvidia, Ati and Intel). 2008-03-22 11:14:37 +01:00
Roderick Colenbrander 51a8162330 wined3d: Check pixel formats of the same pixel type. 2008-03-21 15:19:05 +01:00
Roderick Colenbrander fd71421ebe wined3d: Report software processing in CheckDeviceFormat. 2008-03-19 17:21:59 +01:00
Roderick Colenbrander 30a3bc2651 wined3d: Add dynamic locking support to CheckDeviceFormat. 2008-03-19 17:21:47 +01:00
Roderick Colenbrander 7fd87f10cd wined3d: There is no need for the !Usage checks at the start of the resource type checks.
The return-path of the code will handle this properly and this also
ensures that the R8G8B8 dxVersion test is reached.
2008-03-19 17:21:34 +01:00
Roderick Colenbrander 0e9d02ded4 wined3d: Add correct autogenmipmap support. 2008-03-18 11:17:42 +01:00
Roderick Colenbrander aa46edd60c wined3d: Add a function which checks the filtering capabilities for a format. 2008-03-18 11:17:31 +01:00
Roderick Colenbrander 2f1e01bbe3 wined3d: Put vertex texture capability checking in its own function. 2008-03-18 11:17:15 +01:00
Roderick Colenbrander 32a32d82c4 wined3d: Put the SRG read capability check in its own function. 2008-03-18 11:17:01 +01:00
Roderick Colenbrander 4e66c9c990 wined3d: Add a function which checks the legacy bump mapping capabilities. 2008-03-18 11:16:48 +01:00
Roderick Colenbrander d44c295651 wined3d: Check the render target capabilities of a resource type. 2008-03-17 11:42:19 +01:00
Roderick Colenbrander ecf24604e2 wined3d: Check the texture capabilities we offer for the different texture types (cube, plain, volume). 2008-03-17 11:41:58 +01:00
Roderick Colenbrander 02f6c9ece8 wined3d: Move depth/stencil verification to CheckDepthStencilCapability. 2008-03-17 11:41:39 +01:00
Artur Szymiec 102b9d12e4 wined3d: Add a device uuid. 2008-03-13 20:44:18 +01:00
Rico Schüller 7cbdb29884 wined3d: Fix copy and past error. 2008-03-06 12:46:50 +01:00
Stefan Dösinger d20768c120 wined3d: Support shininess > 128 if opengl does. 2008-03-05 19:23:06 +01:00
Stefan Dösinger 8b28ca720e wined3d: Use GL_EXT_gpu_program_parameters if available. 2008-03-04 12:15:32 +01:00
Stefan Dösinger 107e80a79c wined3d: Implement a different constant dirtification algorithm.
Add a new property of the shader backend which indicates whether the
shader backend is able to dirtify single constants rather than
dirtifying vshader and pshader constants as a whole. Depending on this
a different Set*ConstantF implementation is used which marks constants
dirty. The ARB shader backend uses this and marks constants clean
after uploading.
2008-03-04 12:15:16 +01:00
Stefan Dösinger 5709a0b4b6 wined3d: Call fixup_extensions before destroying the fake context. 2008-03-03 20:45:48 +01:00
Francois Gouget 29ef0b90ee Assorted spelling, punctuation and case fixes. 2008-03-03 12:04:48 +01:00
James Hawkins c2a627c6e8 janitorial: Remove links to any microsoft site. 2008-03-01 12:17:07 +01:00
Roderick Colenbrander 4ac1b94d96 wined3d: Improved CheckDeviceType. 2008-02-27 14:52:25 +01:00
Stefan Dösinger f912f18b13 wined3d: Move shader model private data into its own structure. 2008-02-26 11:31:39 +01:00
Stefan Dösinger 6269415793 wined3d: Add GL_APPLE_float_pixels. 2008-02-26 11:31:29 +01:00
Roderick Colenbrander f5149e651e wined3d: Check real depth/stencil capabilities based on WGL pixel formats. 2008-02-26 11:29:59 +01:00
Stefan Dösinger f952419651 wined3d: Enable the texcoord init workaround on radeon HD cards on MacOS. 2008-02-19 14:47:59 +01:00
Roderick Colenbrander c2d978410f wined3d: Add separate alpha blend support. 2008-02-18 14:19:57 +01:00
Stefan Dösinger 989d283000 wined3d: Detect and work around the MacOS Geforce 8 PBO brokeness. 2008-02-18 13:36:58 +01:00
Stefan Dösinger b8c613196d wined3d: Fix a syntax error in the ARB vertex program offset shader.
As some Mesa developers pointed out, the GL_ARB_vertex_program grammar
does not allow an immediate value as source argument in ARL. Most
compilers accept it, but since it is not the purpose of the test
program to test for this replace it with a proper constant.
2008-02-18 13:34:37 +01:00
Stefan Dösinger 3e7f1388be wined3d: Add some ATI cards to the version database. 2008-02-07 13:05:20 +01:00
Stefan Dösinger 1c1a6f32ae wined3d: Add infrastructure for faking driver versions.
Often the Linux / MacOS graphics driver version is of no use for
finding a proper driver version to report to the D3D app. So this
patch adds some infrastructure for easy hardcoding of card specific
driver versions to report to the application. This helps applications
which make assumptions based on the driver version, like bug
workarounds.
2008-02-07 13:05:04 +01:00
Stefan Dösinger 74db14728e wined3d: Separate OpenGL and driver version. 2008-02-06 12:43:53 +01:00
Stefan Dösinger 3188d9ae30 wined3d: Move the highpart of the driver version to the gl structure.
While 6.14 is a sane default, we might want to override it on a
per-driver basis, if we have really old Windows drivers on some cards.
2008-02-06 12:43:53 +01:00
Stefan Dösinger b813398467 wined3d: Move the float format check to the big switch statement. 2008-02-05 12:42:20 +01:00
Stefan Dösinger bbeedca67e wined3d: Fix dxtn format check.
We can't return WINED3D_OK straight away because we have yet to check
the other flags, like sRGB correction.
2008-02-05 12:42:12 +01:00
Stefan Dösinger 9d9a640127 wined3d: Correct the srgb reading check. 2008-02-05 12:41:59 +01:00