Merge pull request #25314 from marxin/fix-24417-class-memaccess
Fix class memaccess
This commit is contained in:
commit
d0f289b0d9
2 changed files with 8 additions and 6 deletions
|
@ -33,6 +33,7 @@
|
|||
#include "RgbaBitmap.h"
|
||||
#include "core/os/file_access.h"
|
||||
#include <string.h>
|
||||
#include <new>
|
||||
|
||||
static void _pvrtc_decompress(Image *p_img);
|
||||
|
||||
|
@ -215,12 +216,10 @@ static void _compress_pvrtc4(Image *p_img) {
|
|||
int ofs, size, w, h;
|
||||
img->get_mipmap_offset_size_and_dimensions(i, ofs, size, w, h);
|
||||
Javelin::RgbaBitmap bm(w, h);
|
||||
copymem(bm.GetData(), &r[ofs], size);
|
||||
{
|
||||
for (unsigned j = 0; j < size / 4; j++) {
|
||||
Javelin::ColorRgba<unsigned char> *dp = bm.GetData();
|
||||
for (int j = 0; j < size / 4; j++) {
|
||||
SWAP(dp[j].r, dp[j].b);
|
||||
}
|
||||
/* red and Green colors are swapped. */
|
||||
new (dp) Javelin::ColorRgba<unsigned char>(r[ofs + 4 * j + 2], r[ofs + 4 * j + 1], r[ofs + 4 * j], r[ofs + 4 * j + 3]);
|
||||
}
|
||||
|
||||
new_img->get_mipmap_offset_size_and_dimensions(i, ofs, size, w, h);
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include "core/os/os.h"
|
||||
#include "visual_server_global.h"
|
||||
#include "visual_server_raster.h"
|
||||
#include <new>
|
||||
/* CAMERA API */
|
||||
|
||||
RID VisualServerScene::camera_create() {
|
||||
|
@ -1253,7 +1254,9 @@ void VisualServerScene::_update_instance_lightmap_captures(Instance *p_instance)
|
|||
|
||||
//print_line("update captures for pos: " + p_instance->transform.origin);
|
||||
|
||||
zeromem(p_instance->lightmap_capture_data.ptrw(), 12 * sizeof(Color));
|
||||
for (int i = 0; i < 12; i++)
|
||||
new (&p_instance->lightmap_capture_data.ptrw()[i]) Color;
|
||||
|
||||
//this could use some sort of blending..
|
||||
for (List<Instance *>::Element *E = geom->lightmap_captures.front(); E; E = E->next()) {
|
||||
const PoolVector<RasterizerStorage::LightmapCaptureOctree> *octree = VSG::storage->lightmap_capture_get_octree_ptr(E->get()->base);
|
||||
|
|
Loading…
Reference in a new issue