mirror of
https://github.com/libretro/parallel-gx1.git
synced 2026-11-07 04:26:01 -10:00
Both fed user-written GLSL to the backends at runtime, which the move to bytecode emitted straight from the shader generators leaves no compiler for. The frontend's own shader pipeline covers post-processing. The presentation pass keeps a plain copy and the built-in correction shader for output resampling, colour space and gamma correction and HDR scaling, now compiled in rather than loaded from Sys/Shaders. The graphics-mod system keeps its draw, EFB, projection and texture actions; custom pipelines, materials, shader, mesh and sampler assets, the custom constant buffers in every backend and the two mods built on them are gone, along with the shader generators' custom-shader hooks.
32 lines
738 B
C++
32 lines
738 B
C++
// Copyright 2023 Dolphin Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#pragma once
|
|
|
|
#include <string>
|
|
|
|
namespace VideoCommon
|
|
{
|
|
class CustomTextureData;
|
|
|
|
// This class provides functionality to load
|
|
// specific data (like textures). Where this data
|
|
// is loaded from is implementation defined
|
|
class CustomAssetLibrary
|
|
{
|
|
public:
|
|
// The AssetID is a unique identifier for a particular asset
|
|
using AssetID = std::string;
|
|
|
|
struct LoadInfo
|
|
{
|
|
std::size_t bytes_loaded = 0;
|
|
};
|
|
|
|
virtual ~CustomAssetLibrary() = default;
|
|
|
|
// Loads a texture, if there are no levels, bytes loaded will be empty
|
|
virtual LoadInfo LoadTexture(const AssetID& asset_id, CustomTextureData* data) = 0;
|
|
};
|
|
} // namespace VideoCommon
|