Home | History | Annotate | Download | only in r300

Lines Matching refs:compiler

41 #include "compiler/radeon_compiler.h"
88 static void find_output_registers(struct r300_fragment_program_compiler * compiler,
94 compiler->OutputColor[0] = shader->info.num_outputs;
95 compiler->OutputColor[1] = shader->info.num_outputs;
96 compiler->OutputColor[2] = shader->info.num_outputs;
97 compiler->OutputColor[3] = shader->info.num_outputs;
98 compiler->OutputDepth = shader->info.num_outputs;
104 compiler->OutputColor[colorbuf_count] = i;
108 compiler->OutputDepth = i;
174 /* Pass texture swizzling to the compiler, some lowering passes need it. */
419 struct r300_fragment_program_compiler compiler;
430 /* Setup the compiler. */
431 memset(&compiler, 0, sizeof(compiler));
432 rc_init(&compiler.Base, &r300->fs_regalloc_state);
433 DBG_ON(r300, DBG_FP) ? compiler.Base.Debug |= RC_DBG_LOG : 0;
434 DBG_ON(r300, DBG_P_STAT) ? compiler.Base.Debug |= RC_DBG_STATS : 0;
436 compiler.code = &shader->code;
437 compiler.state = shader->compare_state;
438 compiler.Base.is_r500 = r300->screen->caps.is_r500;
439 compiler.Base.is_r400 = r300->screen->caps.is_r400;
440 compiler.Base.disable_optimizations = DBG_ON(r300, DBG_NO_OPT);
441 compiler.Base.has_half_swizzles = TRUE;
442 compiler.Base.has_presub = TRUE;
443 compiler.Base.has_omod = TRUE;
444 compiler.Base.max_temp_regs =
445 compiler.Base.is_r500 ? 128 : (compiler.Base.is_r400 ? 64 : 32);
446 compiler.Base.max_constants = compiler.Base.is_r500 ? 256 : 32;
447 compiler.Base.max_alu_insts =
448 (compiler.Base.is_r500 || compiler.Base.is_r400) ? 512 : 64;
449 compiler.Base.max_tex_insts =
450 (compiler.Base.is_r500 || compiler.Base.is_r400) ? 512 : 32;
451 compiler.AllocateHwInputs = &allocate_hardware_inputs;
452 compiler.UserData = &shader->inputs;
454 find_output_registers(&compiler, shader);
459 if (compiler.Base.Debug & RC_DBG_LOG) {
465 ttr.compiler = &compiler.Base;
479 compiler.Base.Program.Constants.Count > 200) {
480 compiler.Base.remove_unused_constants = TRUE;
492 rc_transform_fragment_wpos(&compiler.Base, wpos, wpos, TRUE);
496 rc_transform_fragment_face(&compiler.Base, face);
499 /* Invoke the compiler */
500 r3xx_compile_fragment_program(&compiler);
502 if (compiler.Base.Error) {
503 fprintf(stderr, "r300 FP: Compiler Error:\n%sUsing a dummy shader"
504 " instead.\n", compiler.Base.ErrorMsg);
512 rc_destroy(&compiler.Base);
520 rc_destroy(&compiler.Base);
558 rc_destroy(&compiler.Base);