Revision 2307ce862ff7aec6e7b08f334d07e5e14e5ba94a authored by Tim Foley on 19 October 2018, 18:36:46 UTC, committed by GitHub on 19 October 2018, 18:36:46 UTC
* Fix sampler-less texeture functions

I'm honestly not sure how the original work on this feature in #648 worked at all (probably insufficient testing).

We have these front-end modifiers to indicate that a particular function definition requires a certain GLSL version, or a GLSL extension in order to be used, and they are supposed to be automatically employed by the logic in `emit.cpp` to output `#extension` lines in the output GLSL. However, it turns out that nothing is actually wired up right now, so that adding the modifiers to a declaration is a placebo.

This change propagates the modifiers through as decorations, and then uses them during GLSL code emit, which allows the functions that require `EXT_samplerless_texture_functions` to work.

* fixup: 32-bit warning
1 parent 4f979d7
Raw File
test.bat
@echo off
setlocal
pushd %~dp0

:: Argument parsing loop, for arguments that we need to handle at the .bat level

:ARGLOOP

if "%1"=="-debug" (
	set SLANG_TEST_CONFIG=Debug
	shift
	goto :ARGLOOP
)
if "%1"=="-release" (
	set SLANG_TEST_CONFIG=Release
	shift
	goto :ARGLOOP
)
if "%1"=="-platform" (
	set SLANG_TEST_PLATFORM=%2
	shift
	shift
	goto :ARGLOOP
)
if "%1"=="-configuration" (
	set SLANG_TEST_CONFIG=%2
	shift
	shift
	goto :ARGLOOP
)

:: When done with arguments, we'll just fall through here




:: Set root directory to the directory where `test.bat` resides
:: (which should be the root of the source tree)
SET "SLANG_TEST_ROOT=%~dp0"

:: If  platform and configuration haven't been set, then set
:: them to default values.
IF "%SLANG_TEST_PLATFORM%" == "" ( SET "SLANG_TEST_PLATFORM=x86" )
IF "%SLANG_TEST_CONFIG%" == "" ( SET "SLANG_TEST_CONFIG=Debug" )

:: If the user specified a platform of "Win32" swap that to "x86"
:: to match how we are generating our output directories.
IF "%SLANG_TEST_PLATFORM%"=="Win32" ( Set "SLANG_TEST_PLATFORM=x86" )

:: Establish the directory where the binaries to be tested reside
set "SLANG_TEST_BIN_DIR=%SLANG_TEST_ROOT%bin\windows-%SLANG_TEST_PLATFORM%\%SLANG_TEST_CONFIG%\"

:: ensure that any built tools are visible
SET "PATH=%PATH%;%SLANG_TEST_BIN_DIR%"

:: TODO: Maybe we should actually invoke `msbuild` to make sure all the code is up to date?

"%SLANG_TEST_BIN_DIR%slang-test.exe" -bindir "%SLANG_TEST_BIN_DIR%\" %*
back to top