e34eb5c26c
If a non-imported texture resource file (e.g. DDS) gets updated the editor doesn't reload it. The cause of the problem is two-fold: First, the code of ImageTexture assumes that textures are always imported from an image, but that's not the case for e.g. DDS. This change thus adds code to issue a resource reload in case an image reload is not possible (which is the case for non-imported texture resources). Second, the code is filled with bogus calls to Image::get_image_data_size() to determine the mipmap offset when that should be done using Image::get_image_mipmap_offset(). Previous code literally passed the integer mip level value to Image::get_image_data_size() where that actually expects a boolean. Thus this part of the change might actually solve some other issues as well. To be pedantic, the texture_get_data() funciton of the rasterizer drivers is still quite a mess, as it only ever returns the whole mipchain when GLES_OVER_GL is set (practically only on desktop builds) but this change does not attempt to resolve that. |
||
---|---|---|
.. | ||
shaders | ||
rasterizer_canvas_gles3.cpp | ||
rasterizer_canvas_gles3.h | ||
rasterizer_gles3.cpp | ||
rasterizer_gles3.h | ||
rasterizer_scene_gles3.cpp | ||
rasterizer_scene_gles3.h | ||
rasterizer_storage_gles3.cpp | ||
rasterizer_storage_gles3.h | ||
SCsub | ||
shader_compiler_gles3.cpp | ||
shader_compiler_gles3.h | ||
shader_gles3.cpp | ||
shader_gles3.h |