Commit Graph

8 Commits (c3d03f419f17ef22d964a1ef30e09e6a9bfd9e40)

Author SHA1 Message Date
jp9000 caf8ca9ba8 Remove 'shader' param from shader param functions 2014-06-25 19:50:08 -07:00
jp9000 2838a95066 D3D11: Fix constant position code for good
I had forgotten how constants worked when compiled; constants are
uploaded as constant registers.  When constants are used with shaders,
multiple constants are often packed in to a single register when
possible to reduce constant register count.

For example, one 'float' constant and one 'float3' constant will be
packed in to a single register (c0.x for constant 1, c0.yzw for constant
2), but two 'float' constants and one 'float3' constant must inhabit two
registers (c0.xy for constant 1, c1.xyz for constant 2), so it must
start on a new register boundry (every 16 bytes).

I had first instinctively thought it was just a simple case of
alignment like it is on the CPU, but then I realized that it didn't
sound right, so I went back and did some more tests and then ultimately
remembered how constants actually are uploaded.
2014-05-02 21:38:05 -07:00
jp9000 4a370acf22 d3d11: Fix float3 constant alignment (128bit) 2014-05-02 13:04:26 -07:00
jp9000 8298fa4dc7 With the permission of my fellow contributors, I'm switching obs-studio back to GPL v2+ to prevent issues between this project and the original OBS project, and for personal reasons to avoid legal ambiguity (not political reasons, I admittedly would prefer GPL v3+) 2013-12-02 22:24:38 -07:00
jp9000 e5c99175c5 fixed some build issues on non-windows systems 2013-11-26 23:07:27 -07:00
jp9000 18834c6a45 some static analysis cleanup 2013-10-17 17:21:42 -07:00
jp9000 904725390a changed all references of the old d3d11 filenames to the new filenames 2013-10-10 08:01:09 -07:00
jp9000 47e0700f3f renamed some files to be a bit more consistent 2013-10-10 07:57:09 -07:00