Commit Graph

127 Commits

Author SHA1 Message Date
charles bloom
aa956df38a fix many texture and image int64 issues
can now successfully import over 32K textures to VT

#preflight https://horde.devtools.epicgames.com/job/6435ab7900398d6f88e8e808
#rb fabian.giesen
#jira none

[CL 24996140 by charles bloom in ue5-main branch]
2023-04-11 15:18:46 -04:00
charles bloom
197dfb19e6 nop just comments, clean up some todo Oodle marks
#rb none
#preflight none

[CL 24950141 by charles bloom in ue5-main branch]
2023-04-06 14:21:41 -04:00
charles bloom
4696059e9d nop comments only better description of EImageCompressionQuality
#rb none
#preflight none

[CL 24938671 by charles bloom in ue5-main branch]
2023-04-05 18:40:36 -04:00
bryan sefcik
e60c6da33b Windows ARM64 linker fixes.
#preflight 63f54cea26233b957f9870f2

[CL 24353033 by bryan sefcik in ue5-main branch]
2023-02-21 18:31:58 -05:00
Jack Porter
48cbc592ad Resave PNG files with incorrect sRGB profile
Log PNG filename during warnings and errors
#jira UE-167980
#jira UE-169864
#rb Florin.Pascu
#review-24281768
#preflight 63f223ae90198dffba8a2927

[CL 24308896 by Jack Porter in ue5-main branch]
2023-02-19 20:38:08 -05:00
charles bloom
51467ca1b0 Exr import : don't promote 1 channel exr to 4 channel in the TSF uasset
not needed any more

#jira https://jira.it.epicgames.com/browse/UE-176077
#rb alexander.suvorov
#preflight none

[CL 24120894 by charles bloom in ue5-main branch]
2023-02-10 11:31:49 -05:00
charles bloom
15a954cc6c ExrImageWrapper : fix importing exr's with channel names other than RGBA
should use the channel names found in the file

#jira https://jira.it.epicgames.com/browse/UE-175918
#preflight https://horde.devtools.epicgames.com/job/63dd77f9af610ffb8b4ce447
#rb alexander.suvorov

[CL 24104681 by charles bloom in ue5-main branch]
2023-02-09 15:16:36 -05:00
charles bloom
87f1b32bad fix TGA not exporting UDIM
change the TGA exporter to use the Generic path
make TgaImageWrapper write 24 or 32 bit like the legacy exporter
delete the legacy exporter

#jira https://jira.it.epicgames.com/browse/UE-176541
#preflight https://horde.devtools.epicgames.com/job/63e43e2c9910415ae2319a38
#rb fabian.giesen

[CL 24104640 by charles bloom in ue5-main branch]
2023-02-09 15:14:48 -05:00
martins mozeiko
39475b3d07 Upgrade zlib to 1.2.13 version.
Remove old 1.2.12 and 1.2.5 versions.

#preflight 63e176ca07207b2570a2e90f
#rb devin.doucette

[CL 24061350 by martins mozeiko in ue5-main branch]
2023-02-07 17:42:17 -05:00
josh adams
1610c3bee3 UnrealArch/UnrealArchitectures changes
- Creates the UnrealArchitectures class, which wraps a list of UnrealArch objects
 - UnrealArch is a single architecture, expandable enum-like struct
 - There is no more concept of "no/default architecture", there is always a valid active architecture when building
 - Most uses of "string Architecture" are replaced with one of the two above, depending if multiple architectures are supported or not
 - UnrealArch has some platform-extensions for platform-specific naming (like Linux adds in LinuxName that turns, for instance, Arm64 -> aarch64-unknown-linux-gnueabi, which is used in folder names, etc)
 - UnrealArch has bIsX64 which can be used determine intel instruction set (as opposed to arm)
 - TargetRules class has an "Architecture" accessor that will return a single architecture if the active architectures is a single architecture, or throw an exception if multiple. This is useful in a majority of the cases where a paltform can only have a single architecture active in TargetRules (microsoft platforms, for instance, will create separate targets when compiling multiple architectures at once)
 - Added UnrealArchitectureConfig class, which contains all the architecture information for a platform (what architectures are supported, what ones are currently active for given project, etc)

#preflight 63c81fb5b065224750a1759e
#rb mike.fricker,roman.dzieciol,joe.kirchoff,dmytro.vovk,brandon.schaefer [various parts]
#p4v-preflight-copy 23562471

[CL 23829977 by josh adams in ue5-main branch]
2023-01-24 09:30:28 -05:00
charles bloom
c4eaa4a097 ImageWrapper : do check conditions in release builds for security concern
#jira https://jira.it.epicgames.com/browse/UE-172469
#preflight https://horde.devtools.epicgames.com/job/63c87a29b065224750cff178
#rb fabian.giesen

[CL 23767933 by charles bloom in ue5-main branch]
2023-01-18 19:06:30 -05:00
charles bloom
e9699d4824 ImageWrapper : remove pointless SetRaw implementations
just fall through to FImageWrapperBase::SetRaw

#preflight https://horde.devtools.epicgames.com/job/63c87db5c246f148567a1361
#rb fabian.giesen
#jira none

[CL 23767920 by charles bloom in ue5-main branch]
2023-01-18 19:05:45 -05:00
charles bloom
e1b16fd3c0 sanitize floats for inf/nan in EXR import
#rb fabian.giesen
#preflight yes

[CL 23689994 by charles bloom in ue5-main branch]
2023-01-13 18:27:48 -05:00
steve robb
6a31618d42 Removed TIsSame from misc. engine files (part of a larger change to deprecate TIsSame).
#rb devin.doucette
#preflight 63c01cac8f4acc7b54d8832d

[CL 23678906 by steve robb in ue5-main branch]
2023-01-13 11:47:02 -05:00
Tony Wong
0fcc3fdfe3 ImageWrapper: Fixed crash when reading exrs with a non zero data window.
#JIRA: UE-172751
#preflight 639cead7776b61ba3b903f73
#review-23578872 @eric.renaudhoude @ruslan.idrisov
#rb eric.renaudhoude, ruslan.idrisov

[CL 23589044 by Tony Wong in ue5-main branch]
2023-01-05 11:55:54 -05:00
eric renaudhoude
6d1d929dd8 EXR: Minimum support for writing the working color space chromaticities attribute.
#jira UE-168814
#rb rod.bogart, matt.hoffman
#preflight 6361422b2b5338aceb4483a0

[CL 22912865 by eric renaudhoude in ue5-main branch]
2022-11-02 09:15:43 -04:00
joshua boren
8f26524ecb Handle missing error handling case for FPngImageWrapper
#jira: FORT-521923
[REVIEW] [at]nathan.green [at]josh.may [at]kevin.hamilton [at]corey.kolek [at]kris.pelley

[CL 22581675 by joshua boren in ue5-main branch]
2022-10-17 17:59:40 -04:00
charles bloom
dec7aac9b6 BmpImageWrapper support 16 bit bmp like 555 and 565
also import A channel from 32-bit BI_RGB
now loads all formats that photoshop "advanced" outputs

#preflight 634db8d6820aa0c193f8a81f
#rb fabian.giesen

[CL 22577459 by charles bloom in ue5-main branch]
2022-10-17 16:43:23 -04:00
charles bloom
9529396e69 BmpImageWrapper hardening
also fix several cases where bmp image data was imported wrong

#jira UE-166510
#preflight 63460910b757820b7aa5855c
#rb fabian.giesen
#lockdown jeanmichel.dignard

[CL 22480931 by charles bloom in ue5-main branch]
2022-10-12 12:52:09 -04:00
fabian giesen
910404ad86 HdrImageWrapper major cleanups and validation fixes
1. Fix header parsing to check for actual header termination (blank line)
2. Header lines are only ever terminated by LF, never CR. Treat NUL as error.
3. The only supported pixel layout is -Y <Height> +X (the default). Require that explicitly.
4. Require that widths and heights be positive and enforce a maximum image size
5. Fix several potential integer overflows
6. Fix several potential out-of-bounds reads/writes
7. Don't cast possibly unaligned uint8 pointers to FColor*
8. Fix potential UB when shift amount in old RLE encoding gets large
9. Don't allow runs as first thing in an old-RLE scan line, since they want to repeat the prev pixel
10. Factor out a lot of the error handling code, make sure error messages get logged
11. Fix several typos while I'm here

#jira UE-166514
#jira UE-166515
#jira UE-166516
#jira UE-166551
#preflight 6345d5bef93be0f634181cb9

[CL 22479168 by fabian giesen in ue5-main branch]
2022-10-12 11:19:42 -04:00
charles bloom
7a2281f8e2 FDdsImageWrapper restrict to 2D only
more complex DDS is imported through the ImportDDS path in EditorFactories
FDdsImageWrapper is only load for generic image loading and fallback path

#rb fabian.giesen
#preflight none

[CL 22409163 by charles bloom in ue5-main branch]
2022-10-07 16:44:20 -04:00
charles bloom
5db1898a6b ImageWrapper.h check format set in GetRaw to Array
could be invalid if SetCompressed failed

#rb none
#preflight none

[CL 22376193 by charles bloom in ue5-main branch]
2022-10-06 11:04:37 -04:00
benjamin rouveyrol
4973907beb Add EXR support for screenshots
Add various functions to use FLinearColor in addition to FColor
Add support for EXR on platforms supporting HDR, but not openexr. This is driven by WITH_UNREALEXR_MINIMAL: the screenshot will not be compressed, only writes are supported, only RGBA float32 is supported as input (FLinearColor), and output will be RGB float16.
The convention used is ScRGB, not BT2100-PQ to store the HDR data, since the viewers I tested with were expecting ScRGB .

tested (both png and exr):
Editor d3d11/d3d12: F9 / highresshot 2 / High Resolution Screenshot Tool w/ and w/o Custom Depth Mask, w/ and w/o Buffer attributes / Trace.Screenshot
Game: shot / shot -showui / highresshot 2 / BugScreenShot / BugScreenShotWithHUDInfo (but HandleBugScreenShot is empty) / Trace.Screenshot / Trace.Screenshot w/ ui

What doesn't work : ScreenshotCapturedDelegate.Broadcast in HDR

#jira UE-140227
#rb charles.bloom eric.renaudhoude david.harvey
#preflight 63359b01691c0168b74151f2

[CL 22327553 by benjamin rouveyrol in ue5-main branch]
2022-10-04 03:25:56 -04:00
charles bloom
7cfcc846dc IcnsImageWrapper was not setting image properties in SetCompressed, causing crash in GetRawImage
#jira UE-165364
#rb Richard.Wallis
#preflight 6335b1fbd165c45137a2620e

[CL 22263083 by charles bloom in ue5-main branch]
2022-09-30 00:45:16 -04:00
benjamin rouveyrol
fbc7fb31f9 [Backout] - CL22202479
#fyi benjamin.rouveyrol
Original CL Desc
-----------------------------------------------------------------
Add EXR support for screenshots

Add various functions to use FLinearColor in addition to FColor
Add support for EXR on platforms supporting HDR, but not openexr. This is driven by WITH_UNREALEXR_MINIMAL: the screenshot will not be compressed, only writes are supported, only RGBA float32 is supported as input (FLinearColor), and output will be RGB float16.
The convention used is ScRGB, not BT2100-PQ to store the HDR data, since the viewers I tested with were expecting ScRGB .

tested (both png and exr):
Editor d3d11/d3d12: F9 / highresshot 2 / High Resolution Screenshot Tool w/ and w/o Custom Depth Mask, w/ and w/o Buffer attributes / Trace.Screenshot
Game: shot / shot -showui / highresshot 2 / BugScreenShot / BugScreenShotWithHUDInfo (but HandleBugScreenShot is empty) / Trace.Screenshot / Trace.Screenshot w/ ui

What doesn't work : ScreenshotCapturedDelegate.Broadcast in HDR

#jira UE-140227
#rb charles.bloom eric.renaudhoude
#preflight 63316dbec7791417aa5e7d51 6331600c671a1a24b5fbb4b8 6332b5dda907d7192f1b2711

[CL 22205685 by benjamin rouveyrol in ue5-main branch]
2022-09-27 10:23:05 -04:00