r300/compiler: emulate SIN/COS/SCS in r3xx-r4xx vertex shaders

Despite the docs, the corresponding hardware instructions are r5xx-only.
This commit is contained in:
Marek Olšák 2010-07-13 06:38:30 +02:00
parent c4066b78c0
commit b5fc699b1e
1 changed files with 7 additions and 1 deletions

View File

@ -619,12 +619,18 @@ void r3xx_compile_vertex_program(struct r300_vertex_program_compiler* compiler)
debug_program_log(compiler, "after emulate branches");
{
if (compiler->Base.is_r500) {
struct radeon_program_transformation transformations[] = {
{ &r300_transform_vertex_alu, 0 },
{ &r300_transform_trig_scale_vertex, 0 }
};
radeonLocalTransform(&compiler->Base, 2, transformations);
} else {
struct radeon_program_transformation transformations[] = {
{ &r300_transform_vertex_alu, 0 },
{ &radeonTransformTrigSimple, 0 }
};
radeonLocalTransform(&compiler->Base, 2, transformations);
}
debug_program_log(compiler, "after native rewrite");