Henri Verbeet
8124f5e14a
wined3d: shader_trace_init() shouldn't have side effects.
...
This moves setting baseShader.hex_version and baseShader.functionLength to
shader_get_registers_used(), where it's more appropriate.
2008-12-11 12:14:50 +01:00
Henri Verbeet
4aa00e8a21
wined3d: Rename texture_stage_op.color_correction to texture_stage_op.color_fixup.
...
This is consistent with other uses of struct color_fixup_desc.
2008-12-10 10:50:24 +01:00
Henri Verbeet
50a87e23e7
wined3d: Fix the IWineD3DVertexShader and IWineD3DPixelShader IUnknown methods.
...
IWineD3DVertexShader isn't supposed to implement IWineD3DPixelShader.
2008-12-09 11:27:32 +01:00
Henri Verbeet
4997bee1bf
wined3d: Add functions to initialize and free shader buffers.
2008-12-09 11:27:13 +01:00
Henri Verbeet
5ad3bbabda
wined3d: Avoid disabling numbered arrays if we're going to enable them afterwards anyway.
2008-12-08 12:28:31 +01:00
Henri Verbeet
a13df0e4ef
wined3d: Explicitly pass the version and instruction table to shader_get_opcode().
2008-12-05 11:59:02 +01:00
Henri Verbeet
74acbf9c16
wined3d: Get rid of vcheckGLcall.
...
Everywhere it's used a regular checkGLcall will do just as well.
2008-12-04 12:00:29 +01:00
Stefan Dösinger
e04556bb16
wined3d: Fix D3DFMT_R32F, R16F, G16R16F, ... in the pixel shader.
...
This allows us to drop the load time conversion and the clear
readback hack and replaces it with a color fixup in the fixed
function pipeline replacement.
2008-12-04 12:00:15 +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
9f2fa8ba25
wined3d: Remove sampled_format from IWineD3DBaseShaderClass, it isn't used anywhere.
2008-12-04 11:59:14 +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
6800d3dbb7
wined3d: Fix some macros definitions to make them proper C statements.
2008-12-03 10:03:45 +01:00
Henri Verbeet
5284fce1ac
wined3d: Disable checkGLcall when WINE_NO_DEBUG_MSGS is specified.
2008-12-03 09:49:14 +01:00
Henri Verbeet
70968e69ac
wined3d: Use a bitmask to store which bool and int constants are set.
...
Note that constants_set was never actually NULL for
shader_glsl_load_constantsB() and shader_glsl_load_constantsI().
2008-12-03 09:49:10 +01:00
Henri Verbeet
0ae60765de
wined3d: Make functions static where possible.
2008-12-03 09:47:35 +01:00
Henri Verbeet
2acf8d7947
wined3d: Rename resource functions to reflect that they're not COM functions.
2008-12-03 09:47:26 +01:00
Henri Verbeet
4d60b6633c
wined3d: Rename basetexture functions to reflect that they're not COM functions.
2008-12-03 09:47:16 +01:00
Henri Verbeet
92b93172df
wined3d: Remove some unused code.
2008-12-02 14:04:40 +01:00
Henri Verbeet
5532c990b6
wined3d: Const correctness fixes.
2008-12-02 14:04:15 +01:00
Henri Verbeet
7c0cb8c0c3
wined3d: Const correctness fixes for state.c.
2008-12-02 14:04:08 +01:00
Henri Verbeet
50ebf26894
wined3d: Const correctness fixes for directx.c.
2008-12-01 12:45:10 +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
Henri Verbeet
fecfddfb3a
wined3d: Const correctness fixes for glsl_shader.c.
2008-11-26 12:05:21 +01:00
Henri Verbeet
d8f6e63541
wined3d: Const correctness fixes for arb_program_shader.c.
2008-11-26 12:05:14 +01:00
Henri Verbeet
cfb3bea895
wined3d: Make the SHADER_OPCODE_ARG parameter to shader handlers const.
2008-11-26 12:05:06 +01:00
Henri Verbeet
eb78c2a082
wined3d: Const correctness fixes for utils.c.
2008-11-26 12:04:56 +01:00
Henri Verbeet
49b55f677e
wined3d: Don't call IWineD3DSurfaceImpl_GetData() from surface_gdi.c.
2008-11-25 13:37:45 +01:00
Henri Verbeet
b4f0b5bdd0
wined3d: Const correctness fixes.
2008-11-25 13:37:39 +01:00
Henri Verbeet
a6917b143d
wined3d: Use IDL to generate wined3d.h.
2008-11-25 13:37:22 +01:00
Stefan Dösinger
0bf32b12f5
wined3d: Add the ability to duplicate GL pixel shaders.
...
Some stateblock parameters have to be compiled into the GL pixel
shader code, like lines for pixelformat fixups. This leads to problems
when applications switch those settings, requiring a recompilation of
the shader. This patch enables wined3d to have multiple GL shaders for
a D3D shader(pixel shaders only so far) to handle this more
efficiently.
2008-11-25 13:07:03 +01:00
Stefan Dösinger
aed9305c78
wined3d: Store shader IDs in the vs and ps impl structures.
2008-11-25 13:06:45 +01:00
Stefan Dösinger
dd8905543b
wined3d: Pass some stateblock values around directly.
...
This was suggested by Ivan quite a while ago, and we need it to better
handle conflicting texture format corrections and similar stateblock
value changes which until now required a recompilation of the entire
shader
2008-11-25 13:06:35 +01:00
Stefan Dösinger
ff767f4984
wined3d: Make the shader backend call CompileShader.
...
A number of considerations contribute to this:
1) The shader backend knows best which shader(s) it needs. GLSL needs
both, arb only one
2) The shader backend may pass some parameters to the compilation
code(e.g. which pixel format fixup to use)
3) The structures used in (2) are different in vs and ps, so a
baseshader::Compile won't work
4) The structures in (2) are wined3d-private structures, so
having a public method in the vtable won't work(its a bad idea
anyway).
2008-11-25 13:06:23 +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
Henri Verbeet
ba78f072e2
wined3d: Remove some unused code.
2008-11-20 14:25:11 +01:00
Henri Verbeet
8899f3412b
wined3d: wined3d_gl.h should be internal to wined3d.
2008-11-20 14:24:56 +01:00
Stefan Dösinger
5c79a9f437
wined3d: Rename the fragment ffp desc structures.
...
This reflects the fact that they describe the fragment pipeline.
The vertex pipeline will use its own structures.
2008-11-20 12:17:45 +01:00
Henri Verbeet
57401fcab2
wined3d: Pass the texture type to the shader depth blt function.
2008-10-28 12:33:18 +01:00
Henri Verbeet
4034a29f19
wined3d: Move depth_blt to surface.c.
2008-10-28 12:33:13 +01:00
Kjell Rune Skaaraas
ed96dd72e3
wined3d: Implement IWineD3DResourceImpl_GetPriority and IWineD3DResourceImpl_SetPriority for resource management.
2008-10-08 14:17:03 +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
Henri Verbeet
eaf2474003
wined3d: Split SetGlTextureDesc() up.
...
This creates a function for setting the texture name and one for
setting the texture target. The idea is that the texture target should
get set right after the surface is created, and won't change, while
generating a texture name can wait.
2008-09-25 11:52:42 +02:00
Henri Verbeet
5ba40c3d58
wined3d: Make some more GLSL functions private to the backend.
2008-09-24 12:53:23 +02:00
Henri Verbeet
a0940051eb
wined3d: Make some more ARB program functions private to the backend.
2008-09-24 12:53:16 +02:00
Henri Verbeet
daef052daa
wined3d: atifs_shader_backend doesn't exist anymore.
2008-09-24 12:53:10 +02:00
Henri Verbeet
2e76954097
wined3d: Move part of the shader instruction table to the backend.
2008-09-24 12:53:05 +02:00
Henri Verbeet
ca28930113
wined3d: Merge pshader_hw_map2gl() and vshader_hw_map2gl().
...
This isn't the prettiest way to merge those functions, but it's a start.
2008-09-23 12:25:27 +02:00
Henri Verbeet
9d192c6251
wined3d: Skip copying the depth stencil if it's discarded.
...
This gives a small performance improvement for applications that are
smart enough to set the D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL flag, or
to create depth stencils with Discard set to TRUE.
2008-09-23 12:25:18 +02:00
Henri Verbeet
d95ae08ad4
wined3d: Get rid of the wantsDepthStencilBuffer in IWineD3DSwapChainImpl.
2008-09-23 12:25:04 +02:00