Commit Graph

467 Commits

Author SHA1 Message Date
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
Ivan Gyurdiev 8b7401c39a wined3d: Shaders: share dump_param function, version functions. 2006-05-15 16:07:31 +02:00
Ivan Gyurdiev 7757d7bc5c wined3d: Fix incorrect sizeof. 2006-05-15 16:04:07 +02:00
Francois Gouget f7c24f37ad Various trace fixes.
Add trailing '\n's to trace calls.
Remove spaces before '\n'.
2006-05-15 15:05:09 +02:00