mirror of
https://github.com/xemu-project/nv2a_vsh_cpu.git
synced 2024-11-23 01:39:38 +00:00
Merge pull request #5 from abaire/fix/mismerged_handling_of_ilu_floats
Fix/mismerged handling of ilu floats
This commit is contained in:
commit
d5a7308809
37
.github/workflows/build.yml
vendored
Normal file
37
.github/workflows/build.yml
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
name: Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths-ignore:
|
||||
- '.github/**'
|
||||
- '!.github/workflows/**'
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- '.github/**'
|
||||
- '!.github/workflows/**'
|
||||
- 'README.md'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
submodules: recursive
|
||||
- name: Install Dependencies
|
||||
run: sudo apt-get update && sudo apt-get install -yq libboost-test-dev
|
||||
- name: Build
|
||||
run: |
|
||||
mkdir build
|
||||
cmake -Bbuild -S.
|
||||
cmake --build build/ --target all
|
||||
ls build
|
||||
- name: Test Operations
|
||||
run: build/operations_tests
|
||||
- name: Test Disassembler
|
||||
run: build/disassembler_tests
|
||||
- name: Test Emulator
|
||||
run: build/emulator_tests
|
@ -16,7 +16,7 @@ option(nv2a_vsh_cpu_UNIT_TEST "Enable nv2a_vsh_cpu's various unit tests" ON)
|
||||
if (nv2a_vsh_cpu_UNIT_TEST)
|
||||
include(FindPkgConfig)
|
||||
find_package(
|
||||
Boost 1.74
|
||||
Boost 1.71
|
||||
COMPONENTS
|
||||
unit_test_framework
|
||||
REQUIRED
|
||||
|
@ -146,7 +146,7 @@ static inline void apply(Nv2aVshExecutionState *state,
|
||||
const Nv2aVshStep *step) {
|
||||
float mac_inputs[3 * 4];
|
||||
float ilu_input[4];
|
||||
prepare_inputs(mac_inputs, &ilu_input, state, step);
|
||||
prepare_inputs(mac_inputs, ilu_input, state, step);
|
||||
|
||||
if (step->mac.opcode) {
|
||||
apply_operation(state, &step->mac, mac_inputs);
|
||||
@ -161,7 +161,7 @@ static inline void apply_track_context_writes(Nv2aVshExecutionState *state,
|
||||
bool *context_dirty) {
|
||||
float mac_inputs[3 * 4];
|
||||
float ilu_input[4];
|
||||
prepare_inputs(mac_inputs, &ilu_input, state, step);
|
||||
prepare_inputs(mac_inputs, ilu_input, state, step);
|
||||
|
||||
if (step->mac.opcode) {
|
||||
apply_operation(state, &step->mac, mac_inputs);
|
||||
@ -172,7 +172,7 @@ static inline void apply_track_context_writes(Nv2aVshExecutionState *state,
|
||||
}
|
||||
}
|
||||
if (step->ilu.opcode) {
|
||||
apply_operation(state, &step->ilu, &ilu_input);
|
||||
apply_operation(state, &step->ilu, ilu_input);
|
||||
if (step->ilu.outputs[0].type == NV2ART_CONTEXT) {
|
||||
context_dirty[step->ilu.outputs[0].index] = true;
|
||||
} else if (step->ilu.outputs[1].type == NV2ART_CONTEXT) {
|
||||
|
Loading…
Reference in New Issue
Block a user