Stefan Dösinger
f63ce1c489
wined3d: Inherit from the proper state table in atifs.
2008-03-28 14:49:38 +01:00
Stefan Dösinger
f761b90801
wined3d: Free heapMemory, not allocatedMemory when adjusting the surface.
2008-03-27 11:19:05 +01:00
Alexander Dorofeyev
165970992a
wined3d: Make device palettes dynamically allocated.
2008-03-27 11:09:06 +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
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
Stefan Dösinger
a440051016
wined3d: Add a shader DLL init callback.
2008-03-25 19:49:17 +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
ac57b4e2f5
wined3d: Free shader private data on reset.
...
Since the shader backend implementations might track opengl resources in
their private data inform them about reset calls. For example, the atifs
backend keeps track of the replacement shaders, which are lost during an
opengl context recreation.
2008-03-25 19:48:14 +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
Stefan Dösinger
a66fb40d83
wined3d: Move shader generation into the shader backend.
...
Generating the shader ID and parts of the shader prolog and epilog was
done by the common vertexshader.c / pixelshader.c, which is ugly.
This patch doesn't get rid of all the uglyness, somewhen we'll still
have to sort out the relationship of [arb|glsl]_generate_shader and
[arb|glsl]_generate_declarations.
2008-03-25 19:35:58 +01:00
Stefan Dösinger
84258723f9
wined3d: Make the state table a property of the shader backend.
2008-03-25 19:35:32 +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
Alexander Dorofeyev
f2e03d6c3f
wined3d: Don't store primary surface palette in device palettes.
2008-03-25 11:53:55 +01:00
Alexander Dorofeyev
9b913b3b79
wined3d: Don't use device palettes in RealizePalette.
2008-03-25 11:53:47 +01:00
Alexander Dorofeyev
13ce219235
wined3d: Don't use device palettes in GetDC.
2008-03-25 11:53:39 +01:00
Alexander Dorofeyev
85fd313046
wined3d: Don't use device palettes in read_from_framebuffer.
2008-03-25 11:53:24 +01:00
Alexander Dorofeyev
16da594354
wined3d: Fix comment.
2008-03-25 11:53:01 +01:00
Alexander Dorofeyev
3d2bdf52cd
wined3d: Handle zero primitive count.
2008-03-24 20:40:13 +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
690f496bd4
wined3d: We want to compare the old and the new format and not the old with the old.
2008-03-24 13:27:14 +01:00
Philip Nilsson
1110f17581
wined3d: Initialize maxAttribs in case it isn't changed by glGetIntegerv.
2008-03-24 13:26:20 +01:00
Roderick Colenbrander
e749825793
wined3d: CheckTextureCapability returns TRUE for V8U8.
2008-03-24 12:08:34 +01:00
Roderick Colenbrander
3771341774
wined3d: Add a missing break to blt_to_drawable.
2008-03-24 12:08:12 +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
Andrew Talbot
19c105c79c
wined3d: Assign to structs instead of using memcpy.
2008-03-21 11:24:05 +01:00
Luis Javier Merino
3bb1ea3d34
wined3d: BltFast dealing correctly with overlapping src and dest.
2008-03-20 14:27:36 +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
Francois Gouget
304b415284
Assorted spelling fixes.
2008-03-19 11:21:27 +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