wined3d: Make the shader backend call CompileShader.
authorStefan Dösinger <stefan@codeweavers.com>
Mon, 24 Nov 2008 10:52:12 +0000 (11:52 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Tue, 25 Nov 2008 12:06:23 +0000 (13:06 +0100)
commitff767f4984198e85477c0aee3fa49844caae6a60
tree1db4fa4ae33963af423d8fc3239bacd8a0287208
parent83045e5cc888944c73491fd931d20ec438faff8a
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).
dlls/wined3d/arb_program_shader.c
dlls/wined3d/device.c
dlls/wined3d/glsl_shader.c
dlls/wined3d/pixelshader.c
dlls/wined3d/state.c
dlls/wined3d/vertexshader.c
dlls/wined3d/wined3d_private.h
include/wine/wined3d_interface.h