Skip to content

Add external texture tests - #1574

Merged
bghgary merged 11 commits into
BabylonJS:masterfrom
bghgary:external-texture-tests
Dec 3, 2025
Merged

bghgary merged 11 commits into
BabylonJS:masterfrom
bghgary:external-texture-tests

Conversation

@bghgary

@bghgary bghgary commented Nov 20, 2025

Copy link
Copy Markdown
Contributor

No description provided.

@bghgary
bghgary force-pushed the external-texture-tests branch from 15f6f78 to 50c538f Compare November 21, 2025 19:31
@bghgary bghgary changed the title WIP: ExternalTexture Tests Add external texture tests Nov 21, 2025

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds external texture tests to the BabylonNative codebase, introducing platform-specific test utilities for creating and destroying textures across Metal, D3D11, D3D12, and OpenGL backends.

Key changes include:

  • Added comprehensive external texture tests with platform-specific texture creation utilities
  • Fixed lambda capture semantics by adding mutable keyword where std::move is used in lambda bodies
  • Refactored test infrastructure to support command-line arguments and consolidated test entry points
  • Removed Android build artifacts and updated bgfx debug annotation configuration

Reviewed changes

Copilot reviewed 38 out of 40 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
Apps/UnitTests/Source/Tests.ExternalTexture.cpp New test file for external texture construction and async operations
Apps/UnitTests/Source/Utils*.cpp Platform-specific texture creation/destruction utilities for D3D11, D3D12, Metal, and OpenGL
Apps/UnitTests/Source/App*.cpp Refactored main entry points to accept argc/argv parameters
Apps/UnitTests/CMakeLists.txt Updated to include external texture tests and platform-specific utilities
Plugins/ExternalTexture/Source/ExternalTexture_Shared.h Fixed lambda captures by adding mutable keyword for move operations
Core/Graphics/Source/DeviceImpl_Metal.cpp Refactored Metal device type usage to use proper Objective-C id syntax
Dependencies/CMakeLists.txt Moved BGFX_CONFIG_DEBUG_ANNOTATION setting to compile definitions to fix D3D12 access violation
CMakeLists.txt Updated JsRuntimeHost dependency git tag
Android/* Removed entire Android build infrastructure
Files not reviewed (1)
  • Apps/package-lock.json: Language not supported
Comments suppressed due to low confidence (1)

Apps/UnitTests/Source/App_X11.cpp:19

  • Extra closing parenthesis in the function signature. The function should be declared as int main(int argc, char* argv[]) without the extra closing parenthesis.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Apps/UnitTests/CMakeLists.txt
Comment thread Apps/UnitTests/CMakeLists.txt
@bghgary
bghgary marked this pull request as ready for review November 22, 2025 01:27
Comment thread Apps/UnitTests/CMakeLists.txt
Comment thread Apps/UnitTests/Source/Tests.ExternalTexture.cpp
Comment thread Apps/UnitTests/Source/Utils_D3D11.cpp
Comment thread Plugins/ExternalTexture/Source/ExternalTexture_Shared.h
@bghgary
bghgary enabled auto-merge (squash) December 3, 2025 23:25
@bghgary
bghgary merged commit 764b451 into BabylonJS:master Dec 3, 2025
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants