gl_state: Remove texture target tracking
This commit is contained in:
parent
704744bb72
commit
220df45b7d
|
@ -1022,11 +1022,8 @@ void RasterizerOpenGL::SetupTextures(Maxwell::ShaderStage stage, const Shader& s
|
||||||
if (surface != nullptr) {
|
if (surface != nullptr) {
|
||||||
unit.texture =
|
unit.texture =
|
||||||
entry.IsArray() ? surface->TextureLayer().handle : surface->Texture().handle;
|
entry.IsArray() ? surface->TextureLayer().handle : surface->Texture().handle;
|
||||||
const GLenum target = entry.IsArray() ? surface->TargetLayer() : surface->Target();
|
|
||||||
surface->UpdateSwizzle(texture.tic.x_source, texture.tic.y_source, texture.tic.z_source,
|
surface->UpdateSwizzle(texture.tic.x_source, texture.tic.y_source, texture.tic.z_source,
|
||||||
texture.tic.w_source);
|
texture.tic.w_source);
|
||||||
unit.texture = handle;
|
|
||||||
unit.target = target;
|
|
||||||
} else {
|
} else {
|
||||||
// Can occur when texture addr is null or its memory is unmapped/invalid
|
// Can occur when texture addr is null or its memory is unmapped/invalid
|
||||||
unit.texture = 0;
|
unit.texture = 0;
|
||||||
|
|
|
@ -126,7 +126,6 @@ public:
|
||||||
struct TextureUnit {
|
struct TextureUnit {
|
||||||
GLuint texture; // GL_TEXTURE_BINDING_2D
|
GLuint texture; // GL_TEXTURE_BINDING_2D
|
||||||
GLuint sampler; // GL_SAMPLER_BINDING
|
GLuint sampler; // GL_SAMPLER_BINDING
|
||||||
GLenum target;
|
|
||||||
|
|
||||||
void Unbind() {
|
void Unbind() {
|
||||||
texture = 0;
|
texture = 0;
|
||||||
|
@ -135,7 +134,6 @@ public:
|
||||||
void Reset() {
|
void Reset() {
|
||||||
Unbind();
|
Unbind();
|
||||||
sampler = 0;
|
sampler = 0;
|
||||||
target = GL_TEXTURE_2D;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
std::array<TextureUnit, Tegra::Engines::Maxwell3D::Regs::NumTextureSamplers> texture_units;
|
std::array<TextureUnit, Tegra::Engines::Maxwell3D::Regs::NumTextureSamplers> texture_units;
|
||||||
|
|
Reference in New Issue