Jason Green
cef19b5769
wined3d: Move the GLSL registry check again.
2006-05-26 11:56:11 +02:00
Phil Costin
163ee76592
wined3d: Shader caps fix - code relocation.
2006-05-25 20:17:45 +02:00
Roderick Colenbrander
54e5f9c465
wined3d: Dynamicly load GL_ARB_multitexture functions.
2006-05-25 20:17:32 +02:00
Stefan Dösinger
5b8b776431
wined3d: Small rhw vertex fix.
...
Fix the one pixel displacement and move the glOrtho code in a common
function.
2006-05-25 20:09:57 +02:00
Alexandre Julliard
e8d4c2e674
wined3d: Fixed a compiler warning.
2006-05-25 11:09:46 +02:00
Stefan Dösinger
d5f95961f1
wined3d: Fog fixes.
2006-05-25 10:36:40 +02:00
Stefan Dösinger
40d3cc5ee4
wined3d: Turn around the image in LockRect.
2006-05-25 10:35:58 +02:00
Stefan Dösinger
e18c89b3f4
wined3d: Silence the offscreen surface creation fixme.
2006-05-25 10:35:10 +02:00
Stefan Dösinger
93db443319
wined3d: Color keying emulation.
2006-05-25 10:34:53 +02:00
Stefan Dösinger
e902cd119f
wined3d: Swapchain and back buffer corrections + tests.
2006-05-24 13:56:55 +02:00
Roderick Colenbrander
9c018fd877
wined3d: Fix ARB_imaging abuse.
2006-05-24 10:52:28 +02:00
Alexandre Julliard
63199ca022
wined3d: Fixed a couple of boolean comparisons against TRUE.
2006-05-24 10:46:06 +02:00
Jason Green
d204540d1f
wined3d: Replaced USING_GLSL define with a new wined3d_settings option based on the registry.
2006-05-24 10:40:35 +02:00
Jason Green
a67488a26e
wined3d: Add function to print the infolog of a GLSL shader on errors.
...
With assistance from H. Verbeet.
2006-05-24 10:37:33 +02:00
Stefan Dösinger
29a8dd47a8
wined3d: Remove a double cap flag.
2006-05-24 10:03:34 +02:00
Stefan Dösinger
89ca7fffd4
wined3d: Remove an unnecessary NULL check.
2006-05-24 10:03:28 +02:00
Stefan Dösinger
a55da88d0b
wined3d: Do not addref a NULL backbuffer in IWineD3DSwapChain::GetBackBuffer.
2006-05-23 17:52:06 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Stefan Dösinger
158691ea3b
wined3d: OpengGL accelerated blits.
...
Implement some basic opengl accelerated blts from and to render
targets. It's not perfect yet, but enought to make some D3D apps
happy. For now the only supported operations are:
- Full screen back -> Front buffer: Just call present
- Offscreen surface -> render target
- Render target -> offscreen surface(slow)
- render target colorfill
2006-05-23 12:41:31 +02:00
Stefan Dösinger
9d75802a21
wined3d: Surface pixel format conversion code.
2006-05-23 12:37:27 +02:00
Ivan Gyurdiev
7b861b3c03
wined3d: Simplify input/output modifier line handling.
2006-05-22 11:41:23 +02:00
Ivan Gyurdiev
cb973648ab
wined3d: Clean up register use maps.
2006-05-22 11:40:38 +02:00
Ivan Gyurdiev
d59eeb3ee5
wined3d: Allow use of pixel shaders with drawStridedSlow.
2006-05-22 11:40:00 +02:00
Ivan Gyurdiev
438d88e1e8
wined3d: Only run parse_decl_usage on vshader INPUT registers.
2006-05-22 11:38:55 +02:00
Jason Green
4a1375bdd6
wined3d: Simplify generate_base_shader() when checking for USING_GLSL usage.
2006-05-20 17:38:09 +02:00
Jason Green
683e5bfc55
wined3d: Move PARAM C[] program.env[] into baseshader and out of vertex shaders.
2006-05-20 17:37:48 +02:00
Stefan Dösinger
cfcdb6515b
wined3d: Sort of oversized surface support.
2006-05-20 14:06:09 +02:00
Stefan Dösinger
672fa65334
wined3d: Add more device caps.
2006-05-20 14:05:38 +02:00
Stefan Dösinger
ebcbda72c4
wined3d: Allow SYSTEMMEM textures and surfaces.
2006-05-20 14:05:23 +02:00
Stefan Dösinger
566cdcf55c
wined3d: Implement IWineD3DDevice::SetDisplayMode.
2006-05-20 14:05:06 +02:00
Phil Costin
df3902e6c1
wined3d: Trace output corrections and cleanups.
2006-05-20 13:58:31 +02:00
Phil Costin
1b320431b8
wined3d: Check registry for UseGLSL enabled.
2006-05-18 16:40:32 +02:00
Ivan Gyurdiev
42b89791ff
wined3d: Take predication tokens into account.
...
Each instruction can have a predication token. Account for it in the
trace pass, register count pass, and store it in the SHADER_OPCODE_ARG
structure for generation. MSDN claims the token is at the end of the
instruction, but that's not true - testing a demo, which lets me
manipulate the shader shows the predication token is the first source
token immediately following the destination token.
2006-05-18 10:32:54 +02:00
Ivan Gyurdiev
fa62d9d3b4
wined3d: Parameter trace corrections.
2006-05-18 10:32:22 +02:00
Ivan Gyurdiev
3d905baf50
wined3d: SETP takes 3 parameters.
2006-05-18 10:32:08 +02:00
Ivan Gyurdiev
c65a86828c
wined3d: Use COLOROUT/DEPTHOUT for pixel shaders 2.0+.
...
As previously mentioned, RASTOUT is invalid on pixel shaders.
On shaders 1.x, r0 is treated as the color output register:
http://www.gamedev.net/columns/hardcore/dxshader3/page2.asp
That's what we currently do in all cases, change it not to do so
for shaders >= 2.0. Support COLOROUT/DEPTHOUT instead.
2006-05-17 10:56:25 +02:00
Ivan Gyurdiev
174734e4a2
wined3d: LRP is not a valid ARBvp code.
2006-05-17 10:56:01 +02:00
Ivan Gyurdiev
8470e54bdf
wined3d: Remove detailed traces from map2gl/input_modifiers functions.
2006-05-17 10:55:50 +02:00
Ivan Gyurdiev
c05bc5d9c1
wined3d: Write "unrecognized_register" in fallback case for get_register_name().
2006-05-17 10:55:39 +02:00
Ivan Gyurdiev
746d1b1cd3
wined3d: Modify shader_dump_param() to take into account address token.
...
Currently we hardcode a0.x, which I think is correct for shaders 1.0.
However, for shaders 2.0, we must look into the address token, and
print the register there. Handle both cases to correct the trace.
2006-05-17 10:55:11 +02:00
Ivan Gyurdiev
03b67e3030
wined3d: Use shader_get_param() in trace pass, reg. count pass, generation pass.
...
Change the trace pass, the register counting pass, and the hw
generator pass to take into account the new get_params() function. For
hw generation, store the address tokens into the SHADER_OPCODE_ARG
structure, so they're available to generator functions.
2006-05-17 10:54:23 +02:00
Ivan Gyurdiev
404eff792f
wined3d: Add shader_get_param() fn, which processes address tokens.
...
Add a new function to process parameters.
On shaders 1.0, processing parameters amounts to *pToken++.
On shaders 2.0+, we have a relative addressing token to account for.
This function should be used, instead of relying on num_params everywhere.
2006-05-17 10:53:18 +02:00
Ivan Gyurdiev
53d240a3e0
wined3d: Do not rely on num_params to skip unhandled tokens in shaders 2.0.
2006-05-17 10:52:37 +02:00
Ivan Gyurdiev
d4dd9869b8
wined3d: Allow multiple output modifiers.
2006-05-17 10:51:47 +02:00
Ivan Gyurdiev
c94ecdff61
wined3d: Fix SINCOS parameters.
...
SINCOS has 4 parameters in shaders 2.0.
It has 2 parameters in shaders 3.0.
It's undefined in shaders 1.0.
2006-05-17 10:50:33 +02:00
Ivan Gyurdiev
6b5d076394
wined3d: DEFI takes 5 parameters.
...
According the spec and the Painkiller log, DEFI has 5 parameters on
vertex shaders.
2006-05-17 10:50:10 +02:00
Paul Vriens
ba438d4f5d
wined3d: Correctly define the number of possible parameters.
2006-05-16 12:53:28 +02:00
Stefan Dösinger
f7d89201c1
wined3d: Unset the ddraw primary when it is released.
2006-05-16 12:42:12 +02:00
Stefan Dösinger
2a35f769e3
wined3d: Add missing render states to the dumping function.
2006-05-16 12:41:51 +02:00
Stefan Dösinger
7cd41b944b
wined3d: Implement IWineD3DDevice::SetFrontBackBuffers.
2006-05-16 12:41:41 +02:00