2015-10-06 04:33:47 +02:00
|
|
|
// Copyright 2015 Citra Emulator Project
|
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
|
2016-05-01 23:28:39 +02:00
|
|
|
union PicaShaderConfig;
|
2015-10-06 04:33:47 +02:00
|
|
|
|
|
|
|
namespace GLShader {
|
|
|
|
|
2015-10-07 00:21:28 +02:00
|
|
|
/**
|
|
|
|
* Generates the GLSL vertex shader program source code for the current Pica state
|
|
|
|
* @returns String of the shader source code
|
|
|
|
*/
|
2015-10-06 04:33:47 +02:00
|
|
|
std::string GenerateVertexShader();
|
|
|
|
|
2015-10-07 00:21:28 +02:00
|
|
|
/**
|
|
|
|
* Generates the GLSL fragment shader program source code for the current Pica state
|
|
|
|
* @param config ShaderCacheKey object generated for the current Pica state, used for the shader
|
|
|
|
* configuration (NOTE: Use state in this struct only, not the Pica registers!)
|
|
|
|
* @returns String of the shader source code
|
|
|
|
*/
|
2015-10-10 04:46:47 +02:00
|
|
|
std::string GenerateFragmentShader(const PicaShaderConfig& config);
|
2015-10-06 04:33:47 +02:00
|
|
|
|
|
|
|
} // namespace GLShader
|