mirror of
https://github.com/Lime3DS/Lime3DS.git
synced 2024-11-02 00:15:06 +01:00
fix preload textures being enabled when it shouldn't
address more comments
This commit is contained in:
parent
391e552927
commit
8b881ac1fc
@ -23,7 +23,7 @@ ConfigureGraphics::ConfigureGraphics(QWidget* parent)
|
||||
ui->hw_renderer_group->setEnabled(checked);
|
||||
ui->toggle_custom_textures->setEnabled(checked);
|
||||
ui->toggle_dump_textures->setEnabled(checked);
|
||||
ui->toggle_preload_textures->setEnabled(checked);
|
||||
ui->toggle_preload_textures->setEnabled(false);
|
||||
if (!checked) {
|
||||
ui->toggle_custom_textures->setChecked(false);
|
||||
ui->toggle_dump_textures->setChecked(false);
|
||||
|
@ -28,8 +28,7 @@ const CustomTexInfo& CustomTexCache::LookupTexture(u64 hash) {
|
||||
return custom_textures.at(hash);
|
||||
}
|
||||
|
||||
void CustomTexCache::CacheTexture(u64 hash, const std::vector<u8>& tex, u32 width,
|
||||
u32 height) {
|
||||
void CustomTexCache::CacheTexture(u64 hash, const std::vector<u8>& tex, u32 width, u32 height) {
|
||||
custom_textures[hash] = {width, height, tex};
|
||||
}
|
||||
} // namespace Core
|
@ -13,19 +13,13 @@ namespace Frontend {
|
||||
|
||||
class ImageInterface {
|
||||
public:
|
||||
ImageInterface() = default;
|
||||
~ImageInterface() = default;
|
||||
virtual ~ImageInterface() = default;
|
||||
|
||||
// Error logging should be handled by the frontend
|
||||
virtual bool DecodePNG(std::vector<u8>& dst, u32& width, u32& height, const std::string& path) {
|
||||
LOG_CRITICAL(Frontend, "Attempted to decode PNG without an image interface!");
|
||||
return false;
|
||||
};
|
||||
virtual bool DecodePNG(std::vector<u8>& dst, u32& width, u32& height,
|
||||
const std::string& path) = 0;
|
||||
virtual bool EncodePNG(const std::string& path, const std::vector<u8>& src, u32 width,
|
||||
u32 height) {
|
||||
LOG_CRITICAL(Frontend, "Attempted to encode PNG without an image interface!");
|
||||
return false;
|
||||
};
|
||||
u32 height) = 0;
|
||||
};
|
||||
|
||||
} // namespace Frontend
|
@ -997,14 +997,7 @@ void CachedSurface::UploadGLTexture(const Common::Rectangle<u32>& rect, GLuint r
|
||||
|
||||
// Ensure no bad interactions with GL_UNPACK_ALIGNMENT
|
||||
ASSERT(stride * GetGLBytesPerPixel(pixel_format) % 4 == 0);
|
||||
if (!use_custom_tex) {
|
||||
glPixelStorei(GL_UNPACK_ROW_LENGTH, static_cast<GLint>(stride));
|
||||
|
||||
glActiveTexture(GL_TEXTURE0);
|
||||
glTexSubImage2D(GL_TEXTURE_2D, 0, x0, y0, static_cast<GLsizei>(rect.GetWidth()),
|
||||
static_cast<GLsizei>(rect.GetHeight()), tuple.format, tuple.type,
|
||||
&gl_buffer[buffer_offset]);
|
||||
} else {
|
||||
if (use_custom_tex) {
|
||||
if (res_scale == 1) {
|
||||
AllocateSurfaceTexture(texture.handle, GetFormatTuple(PixelFormat::RGBA8),
|
||||
custom_tex_info.width, custom_tex_info.height);
|
||||
@ -1017,6 +1010,13 @@ void CachedSurface::UploadGLTexture(const Common::Rectangle<u32>& rect, GLuint r
|
||||
glActiveTexture(GL_TEXTURE0);
|
||||
glTexSubImage2D(GL_TEXTURE_2D, 0, x0, y0, custom_tex_info.width, custom_tex_info.height,
|
||||
GL_RGBA, GL_UNSIGNED_BYTE, custom_tex_info.tex.data());
|
||||
} else {
|
||||
glPixelStorei(GL_UNPACK_ROW_LENGTH, static_cast<GLint>(stride));
|
||||
|
||||
glActiveTexture(GL_TEXTURE0);
|
||||
glTexSubImage2D(GL_TEXTURE_2D, 0, x0, y0, static_cast<GLsizei>(rect.GetWidth()),
|
||||
static_cast<GLsizei>(rect.GetHeight()), tuple.format, tuple.type,
|
||||
&gl_buffer[buffer_offset]);
|
||||
}
|
||||
|
||||
glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user