Skip to content

Commit

Permalink
gpu: shaders: upload missed v_cmpx* instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
DHrpcs3 committed Oct 31, 2024
1 parent 61f18f6 commit ef2a4b3
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions rpcsx/gpu/lib/gcn-shader/shaders/rdna.glsl
Original file line number Diff line number Diff line change
Expand Up @@ -625,6 +625,23 @@ void v_cmp_neq_f32(inout uint64_t sdst, float32_t a, float32_t b) { set_cond_thr
void v_cmp_nlt_f32(inout uint64_t sdst, float32_t a, float32_t b) { set_cond_thread_bit(sdst, !(a < b)); }
void v_cmp_tru_f32(inout uint64_t sdst, float32_t a, float32_t b) { set_cond_thread_bit(sdst, true); }

void v_cmpx_f_f32(inout uint64_t sdst, float32_t a, float32_t b) { set_cond_thread_bit_exec(sdst, false); }
void v_cmpx_lt_f32(inout uint64_t sdst, float32_t a, float32_t b) { set_cond_thread_bit_exec(sdst, a < b); }
void v_cmpx_eq_f32(inout uint64_t sdst, float32_t a, float32_t b) { set_cond_thread_bit_exec(sdst, a == b); }
void v_cmpx_le_f32(inout uint64_t sdst, float32_t a, float32_t b) { set_cond_thread_bit_exec(sdst, a <= b); }
void v_cmpx_gt_f32(inout uint64_t sdst, float32_t a, float32_t b) { set_cond_thread_bit_exec(sdst, a > b); }
void v_cmpx_lg_f32(inout uint64_t sdst, float32_t a, float32_t b) { set_cond_thread_bit_exec(sdst, a != b); }
void v_cmpx_ge_f32(inout uint64_t sdst, float32_t a, float32_t b) { set_cond_thread_bit_exec(sdst, a >= b); }
void v_cmpx_o_f32(inout uint64_t sdst, float32_t a, float32_t b) { set_cond_thread_bit_exec(sdst, !isnan(a) && !isnan(b)); }
void v_cmpx_u_f32(inout uint64_t sdst, float32_t a, float32_t b) { set_cond_thread_bit_exec(sdst, isnan(a) || isnan(b)); }
void v_cmpx_nge_f32(inout uint64_t sdst, float32_t a, float32_t b) { set_cond_thread_bit_exec(sdst, !(a >= b)); }
void v_cmpx_nlg_f32(inout uint64_t sdst, float32_t a, float32_t b) { set_cond_thread_bit_exec(sdst, !(a != b)); }
void v_cmpx_ngt_f32(inout uint64_t sdst, float32_t a, float32_t b) { set_cond_thread_bit_exec(sdst, !(a > b)); }
void v_cmpx_nle_f32(inout uint64_t sdst, float32_t a, float32_t b) { set_cond_thread_bit_exec(sdst, !(a <= b)); }
void v_cmpx_neq_f32(inout uint64_t sdst, float32_t a, float32_t b) { set_cond_thread_bit_exec(sdst, !(a == b)); }
void v_cmpx_nlt_f32(inout uint64_t sdst, float32_t a, float32_t b) { set_cond_thread_bit_exec(sdst, !(a < b)); }
void v_cmpx_tru_f32(inout uint64_t sdst, float32_t a, float32_t b) { set_cond_thread_bit_exec(sdst, true); }

void v_cmp_f_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit(sdst, false); }
void v_cmp_lt_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit(sdst, a < b); }
void v_cmp_eq_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit(sdst, a == b); }
Expand All @@ -642,6 +659,22 @@ void v_cmp_neq_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thr
void v_cmp_nlt_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit(sdst, !(a < b)); }
void v_cmp_tru_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit(sdst, true); }

void v_cmpx_f_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit_exec(sdst, false); }
void v_cmpx_lt_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit_exec(sdst, a < b); }
void v_cmpx_eq_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit_exec(sdst, a == b); }
void v_cmpx_le_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit_exec(sdst, a <= b); }
void v_cmpx_gt_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit_exec(sdst, a > b); }
void v_cmpx_lg_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit_exec(sdst, a != b); }
void v_cmpx_ge_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit_exec(sdst, a >= b); }
void v_cmpx_o_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit_exec(sdst, !isnan(a) && !isnan(b)); }
void v_cmpx_u_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit_exec(sdst, isnan(a) || isnan(b)); }
void v_cmpx_nge_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit_exec(sdst, !(a >= b)); }
void v_cmpx_nlg_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit_exec(sdst, !(a != b)); }
void v_cmpx_ngt_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit_exec(sdst, !(a > b)); }
void v_cmpx_nle_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit_exec(sdst, !(a <= b)); }
void v_cmpx_neq_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit_exec(sdst, !(a == b)); }
void v_cmpx_nlt_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit_exec(sdst, !(a < b)); }
void v_cmpx_tru_f64(inout uint64_t sdst, float64_t a, float64_t b) { set_cond_thread_bit_exec(sdst, true); }

void v_cmp_eq_u32(inout uint64_t sdst, uint32_t a, uint32_t b) { set_cond_thread_bit(sdst, a == b); }
void v_cmp_f_u32(inout uint64_t sdst, uint32_t a, uint32_t b) { set_cond_thread_bit(sdst, false); }
Expand Down

0 comments on commit ef2a4b3

Please sign in to comment.