mirror of
https://github.com/RPCSX/rpcsx.git
synced 2025-12-06 07:12:14 +01:00
Some checks are pending
Formatting check / formatting-check (push) Waiting to run
Build RPCSX / build-linux (push) Waiting to run
Build RPCSX / build-android (arm64-v8a, armv8-a) (push) Waiting to run
Build RPCSX / build-android (arm64-v8a, armv8.1-a) (push) Waiting to run
Build RPCSX / build-android (arm64-v8a, armv8.2-a) (push) Waiting to run
Build RPCSX / build-android (arm64-v8a, armv8.4-a) (push) Waiting to run
Build RPCSX / build-android (arm64-v8a, armv8.5-a) (push) Waiting to run
Build RPCSX / build-android (arm64-v8a, armv9-a) (push) Waiting to run
Build RPCSX / build-android (arm64-v8a, armv9.1-a) (push) Waiting to run
Build RPCSX / build-android (x86_64, x86-64) (push) Waiting to run
log invalid loops do not split construct and move block on selection construct creation
34 lines
903 B
C++
34 lines
903 B
C++
#include "transform.hpp"
|
|
#include "transform/transformations.hpp"
|
|
#include "transform/wrap.hpp"
|
|
#include "SpvConverter.hpp"
|
|
#include "dialect.hpp"
|
|
#include <iostream>
|
|
#include <rx/die.hpp>
|
|
|
|
using namespace shader;
|
|
using namespace shader::transform;
|
|
|
|
using Builder = ir::Builder<ir::builtin::Builder, ir::spv::Builder>;
|
|
|
|
void shader::structurizeCfg(spv::Context &context, ir::RegionLike region) {
|
|
// std::cerr << "before transforms: ";
|
|
// region.print(std::cerr, context.ns);
|
|
// std::cerr << "\n";
|
|
|
|
transformToCanonicalRegion(context, region);
|
|
transformToCf(context, region);
|
|
|
|
wrapLoopConstructs(context, region);
|
|
wrapSelectionConstructs(context, region);
|
|
|
|
// std::cerr << "structured: ";
|
|
// region.print(std::cerr, context.ns);
|
|
// std::cerr << "\n";
|
|
transformToFlat(context, region);
|
|
|
|
// std::cerr << "flat: ";
|
|
// region.print(std::cerr, context.ns);
|
|
// std::cerr << "\n";
|
|
}
|