Live data from Hacker News

Let's Fix OpenGL [pdf]

cs.cornell.edu

1–10 of 55 posts

Re: Let's Fix OpenGL [pdf]

#4
> Potential solutions. Shader languages’ needs are not distinct enough from ordinary imperative programming languages to warrant ground-up domain-specific designs. They should should instead be implemented as extensions to general-purpose programming languages. There is a rich literature on language extensibility [27, 36, 39] that could let implementations add shader-specific functionality, such as vector operations, to ordinary languages.

I like this part.

Re: Let's Fix OpenGL [pdf]

#5
post #2

Flicking through the article made me wonder - would it be possible to have something like ACID tests for OpenGL?

https://people.freedesktop.org/~nh/piglit/ is an extensive open conformance test suite for opengl. Khronos has their own (https://github.com/KhronosGroup/VK-GL-CTS, used to be proprietary), but judging by the amount of bugs and piglit failures in drivers which supposedly pass it, I think it's probably not very useful.

Re: Let's Fix OpenGL [pdf]

#6
post #4

> Potential solutions. Shader languages’ needs are not distinct enough from ordinary imperative programming languages to warrant ground-up domain-specific designs. They should should instead be implemented as extensions to general-purpose programming languages. There is a rich literature on language extensibility [27, 36, 39] that could let implementations add shader-specific functionality, such as vector operations,…

I wonder how such properly-designed extensions would look like in Common Lisp or any other language with similar metaprogramming capabilities.

Re: Let's Fix OpenGL [pdf]

#7
post #5
post #2

Flicking through the article made me wonder - would it be possible to have something like ACID tests for OpenGL?

https://people.freedesktop.org/~nh/piglit/ is an extensive open conformance test suite for opengl. Khronos has their own ( https://github.com/KhronosGroup/VK-GL-CTS , used to be proprietary), but judging by the amount of bugs and piglit failures in drivers which supposedly pass it, I think it's probably not very useful.

Yup and Google has dEQP for android

Re: Let's Fix OpenGL [pdf]

#8
post #5

Earlier quoted context omitted.

https://people.freedesktop.org/~nh/piglit/ is an extensive open conformance test suite for opengl. Khronos has their own ( https://github.com/KhronosGroup/VK-GL-CTS , used to be proprietary), but judging by the amount of bugs and piglit failures in drivers which supposedly pass it, I think it's probably not very useful.

Yup and Google has dEQP for android

dEQP seems to be included in Khronos', judging by a quick glance at the code and the READMEs.

Re: Let's Fix OpenGL [pdf]

#10
post #4

> Potential solutions. Shader languages’ needs are not distinct enough from ordinary imperative programming languages to warrant ground-up domain-specific designs. They should should instead be implemented as extensions to general-purpose programming languages. There is a rich literature on language extensibility [27, 36, 39] that could let implementations add shader-specific functionality, such as vector operations,…

Apple's Metal shader language is C++14 with some restrictions, and extensions (such as native matrix and vector types), implemented with LLVM:

https://developer.apple.com/metal/metal-shading-language-spe...

Microsoft's HLSL is now also based on LLVM:

https://blogs.msdn.microsoft.com/directx/2017/01/23/new-dire...

Khronos has an LLVM-based translator between LLVM bitcode and SPIR-V:

https://github.com/KhronosGroup/SPIRV-LLVM

So things are converging, may be one day GPU extensions will end up in the C++ standard ;)

Post reply on HN