Skip to content

Cross-Platform (Win32, Linux) upto Hardware Texturing (with swizzling, coalescing, filtering and logging)#32

Open
KaivalyaD wants to merge 17 commits into
Utah-Graphics-Lab:masterfrom
KaivalyaD:master
Open

Cross-Platform (Win32, Linux) upto Hardware Texturing (with swizzling, coalescing, filtering and logging)#32
KaivalyaD wants to merge 17 commits into
Utah-Graphics-Lab:masterfrom
KaivalyaD:master

Conversation

@KaivalyaD
Copy link
Copy Markdown

@KaivalyaD KaivalyaD commented Mar 24, 2026

Changelog

  • Defined a new platform detection macro BUILD_PLATFORM_LINUX for clean conditional compilation
  • Using only lower-case letters for all source/header filenames (for gcc, source filenames are case-sensitive)
  • Using immintrin.h on linux and intrin.h on Windows
  • Using conditional compilation to choose API and intrinsics (names, ABI, etc.)
  • Changed the windows-specific path separator \ to the standard /
  • Using the POSIX API instead of Win32 API (for ex. argv[0] instead of calling GetModuleFileNameA())
  • Added a compiler option (-march=native) on linux enable some intrinsics (like _lcntz_u64)
  • Using the .insn dot-directive to specify custom instructions instead of recompiling gcc
  • Using TBB12 on linux as if it was installed using a package manager (thus, ignoring the supplied binaries)

Note:

  1. Arches must be run with the --dataset-dir command line argument which must be set to a valid datasets directory path with the following structure:
datasets
│   sceneA.mtl
│   sceneA.obj
│   sceneB.mtl
│   sceneB.obj
|   ...
├─── cache
│       sceneA.bvh
│       sceneB.bvh
│       ...
└─── textures
        textureA.jpg
        textureB.jpg
        ...
  1. Native kernels (like trax-kernel.exe) must be run from the parent directory of the datasets folder.

@KaivalyaD KaivalyaD changed the title Linux Port upto Hardware Texturing (scanline order, nearest sampling only) Cross-Platform (Win32 + Linux) upto Hardware Texturing (scanline order, nearest sampling only) Mar 25, 2026
@KaivalyaD KaivalyaD changed the title Cross-Platform (Win32 + Linux) upto Hardware Texturing (scanline order, nearest sampling only) Cross-Platform (Win32, Linux) upto Hardware Texturing (scanline order, nearest sampling only) Mar 25, 2026
@KaivalyaD KaivalyaD marked this pull request as draft March 25, 2026 02:22
@KaivalyaD KaivalyaD marked this pull request as ready for review March 29, 2026 01:05
@KaivalyaD KaivalyaD changed the title Cross-Platform (Win32, Linux) upto Hardware Texturing (scanline order, nearest sampling only) Cross-Platform (Win32, Linux) upto Hardware Texturing (with swizzling, coalescing, filtering and logging) May 21, 2026
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.

2 participants