texture_cache: correct texture buffer on surface params

This commit is contained in:
Fernando Sahmkow 2019-06-12 09:32:26 -04:00 committed by ReinUsesLisp
parent b01f9c8a70
commit a56f687793
1 changed files with 11 additions and 4 deletions

View File

@ -74,10 +74,17 @@ SurfaceParams SurfaceParams::CreateForTexture(Core::System& system,
params.component_type = ComponentTypeFromTexture(config.tic.r_type.Value()); params.component_type = ComponentTypeFromTexture(config.tic.r_type.Value());
params.type = GetFormatType(params.pixel_format); params.type = GetFormatType(params.pixel_format);
// TODO: on 1DBuffer we should use the tic info. // TODO: on 1DBuffer we should use the tic info.
params.target = TextureType2SurfaceTarget(entry.GetType(), entry.IsArray()); if (!config.tic.IsBuffer()) {
params.width = config.tic.Width(); params.target = TextureType2SurfaceTarget(entry.GetType(), entry.IsArray());
params.height = config.tic.Height(); params.width = config.tic.Width();
params.depth = config.tic.Depth(); params.height = config.tic.Height();
params.depth = config.tic.Depth();
} else {
params.target = SurfaceTarget::TextureBuffer;
params.width = config.tic.Width();
params.height = 0;
params.depth = 0;
}
if (params.target == SurfaceTarget::TextureCubemap || if (params.target == SurfaceTarget::TextureCubemap ||
params.target == SurfaceTarget::TextureCubeArray) { params.target == SurfaceTarget::TextureCubeArray) {
params.depth *= 6; params.depth *= 6;