Alexander Dorofeyev
d5b400307b
wined3d: Add ENTER_GL/LEAVE_GL in surface_bind_and_dirtify.
2008-04-03 11:30:38 +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
0f1c2370b1
wined3d: Do not report pixel shaders if not supported.
2008-04-02 20:07:30 +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
8f9a14e312
wined3d: Prepare the atifs shader generator for temp register support.
2008-04-02 20:07:03 +02:00
Stefan Dösinger
ab86a4e963
wined3d: Catch D3DUSAGE_AUTOGENMIPMAP and D3DUSAGE_RENDERTARGET combos.
2008-04-01 20:31:59 +02:00
Stefan Dösinger
a29a229324
wined3d: Refuse 3D initialization without opengl.
2008-04-01 20:31:44 +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
Stefan Dösinger
9e831a8733
wined3d: Create a fake non-gl adapter.
2008-04-01 20:31:30 +02:00
Roderick Colenbrander
4120188f99
wined3d: Request a pixel format with alpha support in case of P8 render targets.
2008-03-31 13:01:24 +02:00
Roderick Colenbrander
76014205de
wined3d: Fix a postpixelshader_blending bug.
2008-03-31 12:14:33 +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
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
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