Module: wine Branch: master Commit: ff767f4984198e85477c0aee3fa49844caae6a60 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ff767f4984198e85477c0aee3f...
Author: Stefan Dösinger stefan@codeweavers.com Date: Mon Nov 24 11:52:12 2008 +0100
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 | 10 ++++------ dlls/wined3d/device.c | 2 +- dlls/wined3d/glsl_shader.c | 15 +++++++++++++-- dlls/wined3d/pixelshader.c | 37 ++++++++++++++++++++++++------------- dlls/wined3d/state.c | 8 -------- dlls/wined3d/vertexshader.c | 3 +-- dlls/wined3d/wined3d_private.h | 2 ++ include/wine/wined3d_interface.h | 8 ++------ 8 files changed, 47 insertions(+), 38 deletions(-)
Diff: http://source.winehq.org/git/wine.git/?a=commitdiff;h=ff767f4984198e85477c0a...