2016-02-16 01:53:44 -08:00
|
|
|
# Copyright (c) 2013-2016 The Khronos Group Inc.
|
|
|
|
#
|
2016-04-21 01:08:38 -07:00
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
2016-02-16 01:53:44 -08:00
|
|
|
#
|
2016-04-21 01:08:38 -07:00
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
2016-02-16 01:53:44 -08:00
|
|
|
#
|
2016-04-21 01:08:38 -07:00
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
2016-02-16 01:53:44 -08:00
|
|
|
|
|
|
|
# Generator scripts and options
|
|
|
|
# GENOPTS can be e.g. '-noprotect'
|
|
|
|
|
|
|
|
PYTHON ?= python3
|
|
|
|
PYFILES = genheaders.py reg.py
|
|
|
|
GENOPTS =
|
|
|
|
GENHEADERS = genheaders.py $(GENOPTS)
|
Change log for May 13, 2016 Vulkan 1.0.13 spec update:
* Bump API patch number and header version number to 13 for this
update.
Github Issues:
* Improve the description of ename:VK_PRESENT_MODE_FIFO_RELAXED_KHR in the
VK_KHR_surface extension (public issue 174).
* Clarify use of etext:*_SIMULTANEOUS_USE_BIT for secondary command
buffers (public issue 182).
* Fix typos in VK_KHR_wayland_surface extension where code:wl_device was
used instead of code:wl_display (public issue 193).
* Replaced {apiname} with ``Vulkan'' in XML validity statements (public
issue 199).
* Fix dead links for WSI handle types (public issue 200).
*** N.b. this needs to be done in WSI branches as well ***
* Use "signaled" instead of "signalled" spelling everywhere (public issue
201).
*** N.b. this needs to be done in WSI branches as well ***
* Move readme.pdf target directory for XML schema documentation into the
target generation directory, instead of leaving it checked into the spec
source tree (public issue 203).
*** N.b. need to add generated PDF to registry index/1.0 page
* Fix duplicate 'which which' typo in description of
elink:VkCommandPoolResetFlagBits (public issue 204).
* Move the <<Programmable Primitive Shading>> section up one level, out of
the <<drawing-primitive-topologies,Primitive Topologies>> section
(public issue 209).
Internal Issues:
* Clarify in the <<pipelines-cache,Pipeline Cache>> section that
implementations should not manage the size of pipeline cache (internal
issue 192).
* Deprecate the concept of device layers and associated commands (internal
issue 255).
* Remove ename:VK_INCOMPLETE from the list of possible result codes of
flink:vkGetPhysicalDeviceSurfaceCapabilitiesKHR (internal issue 314).
* Add missing std140/std430 rule: the base alignment of a member following
a structure is a multiple of the structure's base alignment (internal
issue 321).
* Fixes naming of the single elink:VkColorSpaceKHR enum from
ename:VK_COLORSPACE_SRGB_NONLINEAR_KHR to
ename:VK_COLOR_SPACE_SRGB_NONLINEAR_KHR in XML/header and the
VK_KHR_swapchain and VK_KHR_surface extensions to match the style of the
typename (space and color are two words, not one) (internal issue 322).
* Make it clear that code:LocalInvocationID should only be applied to an
input variable and normalize the language describing
code:LocalInvocationID to the language for other compute shader
variables in the <<interfaces-builtin-variables,Built-in Variables>>
section, and add normative language (internal issue 323).
* Clarify in the <<fundamentals-returncodes,Return Codes>> section that
the result pointer may be modified for specific commands, even if a
runtime error is returned (internal issue 324).
2016-05-13 17:01:59 -07:00
|
|
|
OUTDIR = ../../out/1.0
|
2016-02-16 01:53:44 -08:00
|
|
|
|
|
|
|
# Generate all outputs for Vulkan, including headers and (soon) Asciidoc
|
|
|
|
# frameworks. Targets:
|
|
|
|
#
|
|
|
|
# default - regenerate ../vulkan/vulkan.h
|
|
|
|
# install - install regenerated vulkan.h
|
|
|
|
# full_install - install regenerated vulkan.h and ref page API include
|
|
|
|
# files. Normally only Jon should do this when accepting a merge into
|
|
|
|
# master.
|
|
|
|
# validate - run XML validator on vk.xml against the schema
|
|
|
|
# test - check if vulkan.h compiles
|
|
|
|
# readme.pdf - regnerate schema / HOWTO documentation
|
|
|
|
# vulkan.h - just regenerate vulkan.h locally (for compile testing)
|
|
|
|
|
|
|
|
HEADERS = ../vulkan/vulkan.h
|
|
|
|
DOCINCLUDES = vulkan-docs
|
|
|
|
DOCROOT = ../../doc/specs/vulkan
|
|
|
|
DOCPYSRC = $(DOCROOT)/vkapi.py
|
|
|
|
DOCVALIDITY = validity
|
|
|
|
DOCHOSTSYNCTABLE = hostsynctable
|
Change log for May 13, 2016 Vulkan 1.0.13 spec update:
* Bump API patch number and header version number to 13 for this
update.
Github Issues:
* Improve the description of ename:VK_PRESENT_MODE_FIFO_RELAXED_KHR in the
VK_KHR_surface extension (public issue 174).
* Clarify use of etext:*_SIMULTANEOUS_USE_BIT for secondary command
buffers (public issue 182).
* Fix typos in VK_KHR_wayland_surface extension where code:wl_device was
used instead of code:wl_display (public issue 193).
* Replaced {apiname} with ``Vulkan'' in XML validity statements (public
issue 199).
* Fix dead links for WSI handle types (public issue 200).
*** N.b. this needs to be done in WSI branches as well ***
* Use "signaled" instead of "signalled" spelling everywhere (public issue
201).
*** N.b. this needs to be done in WSI branches as well ***
* Move readme.pdf target directory for XML schema documentation into the
target generation directory, instead of leaving it checked into the spec
source tree (public issue 203).
*** N.b. need to add generated PDF to registry index/1.0 page
* Fix duplicate 'which which' typo in description of
elink:VkCommandPoolResetFlagBits (public issue 204).
* Move the <<Programmable Primitive Shading>> section up one level, out of
the <<drawing-primitive-topologies,Primitive Topologies>> section
(public issue 209).
Internal Issues:
* Clarify in the <<pipelines-cache,Pipeline Cache>> section that
implementations should not manage the size of pipeline cache (internal
issue 192).
* Deprecate the concept of device layers and associated commands (internal
issue 255).
* Remove ename:VK_INCOMPLETE from the list of possible result codes of
flink:vkGetPhysicalDeviceSurfaceCapabilitiesKHR (internal issue 314).
* Add missing std140/std430 rule: the base alignment of a member following
a structure is a multiple of the structure's base alignment (internal
issue 321).
* Fixes naming of the single elink:VkColorSpaceKHR enum from
ename:VK_COLORSPACE_SRGB_NONLINEAR_KHR to
ename:VK_COLOR_SPACE_SRGB_NONLINEAR_KHR in XML/header and the
VK_KHR_swapchain and VK_KHR_surface extensions to match the style of the
typename (space and color are two words, not one) (internal issue 322).
* Make it clear that code:LocalInvocationID should only be applied to an
input variable and normalize the language describing
code:LocalInvocationID to the language for other compute shader
variables in the <<interfaces-builtin-variables,Built-in Variables>>
section, and add normative language (internal issue 323).
* Clarify in the <<fundamentals-returncodes,Return Codes>> section that
the result pointer may be modified for specific commands, even if a
runtime error is returned (internal issue 324).
2016-05-13 17:01:59 -07:00
|
|
|
XMLDOC = $(OUTDIR)/readme.pdf
|
2016-02-16 01:53:44 -08:00
|
|
|
|
|
|
|
# Could add $(XMLDOC) to default, but that requires a LaTeX install.
|
|
|
|
# Could regenerate vk.json automatically but the generator script isn't
|
|
|
|
# creating semantically valid JSON yet, and it's autogenerated, so
|
|
|
|
# don't.
|
|
|
|
|
|
|
|
default install: $(HEADERS)
|
|
|
|
|
|
|
|
full_install: default $(DOCINCLUDES) $(DOCPYSRC) $(DOCVALIDITY) $(DOCHOSTSYNCTABLE)
|
|
|
|
|
Change log for May 13, 2016 Vulkan 1.0.13 spec update:
* Bump API patch number and header version number to 13 for this
update.
Github Issues:
* Improve the description of ename:VK_PRESENT_MODE_FIFO_RELAXED_KHR in the
VK_KHR_surface extension (public issue 174).
* Clarify use of etext:*_SIMULTANEOUS_USE_BIT for secondary command
buffers (public issue 182).
* Fix typos in VK_KHR_wayland_surface extension where code:wl_device was
used instead of code:wl_display (public issue 193).
* Replaced {apiname} with ``Vulkan'' in XML validity statements (public
issue 199).
* Fix dead links for WSI handle types (public issue 200).
*** N.b. this needs to be done in WSI branches as well ***
* Use "signaled" instead of "signalled" spelling everywhere (public issue
201).
*** N.b. this needs to be done in WSI branches as well ***
* Move readme.pdf target directory for XML schema documentation into the
target generation directory, instead of leaving it checked into the spec
source tree (public issue 203).
*** N.b. need to add generated PDF to registry index/1.0 page
* Fix duplicate 'which which' typo in description of
elink:VkCommandPoolResetFlagBits (public issue 204).
* Move the <<Programmable Primitive Shading>> section up one level, out of
the <<drawing-primitive-topologies,Primitive Topologies>> section
(public issue 209).
Internal Issues:
* Clarify in the <<pipelines-cache,Pipeline Cache>> section that
implementations should not manage the size of pipeline cache (internal
issue 192).
* Deprecate the concept of device layers and associated commands (internal
issue 255).
* Remove ename:VK_INCOMPLETE from the list of possible result codes of
flink:vkGetPhysicalDeviceSurfaceCapabilitiesKHR (internal issue 314).
* Add missing std140/std430 rule: the base alignment of a member following
a structure is a multiple of the structure's base alignment (internal
issue 321).
* Fixes naming of the single elink:VkColorSpaceKHR enum from
ename:VK_COLORSPACE_SRGB_NONLINEAR_KHR to
ename:VK_COLOR_SPACE_SRGB_NONLINEAR_KHR in XML/header and the
VK_KHR_swapchain and VK_KHR_surface extensions to match the style of the
typename (space and color are two words, not one) (internal issue 322).
* Make it clear that code:LocalInvocationID should only be applied to an
input variable and normalize the language describing
code:LocalInvocationID to the language for other compute shader
variables in the <<interfaces-builtin-variables,Built-in Variables>>
section, and add normative language (internal issue 323).
* Clarify in the <<fundamentals-returncodes,Return Codes>> section that
the result pointer may be modified for specific commands, even if a
runtime error is returned (internal issue 324).
2016-05-13 17:01:59 -07:00
|
|
|
pdf_install: $(OUTDIR)/readme.pdf
|
|
|
|
|
2016-02-16 01:53:44 -08:00
|
|
|
################################################
|
|
|
|
|
|
|
|
# Python and XML files on which vulkan.h depends
|
|
|
|
VKH_DEPENDS = vk.xml genvk.py reg.py generator.py
|
|
|
|
|
|
|
|
# Autogenerate installed header from XML API description
|
|
|
|
../vulkan/vulkan.h: $(VKH_DEPENDS)
|
|
|
|
$(PYTHON) genvk.py $(GENOPTS) $@
|
|
|
|
|
|
|
|
# Autogenerate API Asciidoc include files from XML
|
|
|
|
# The target is generated by genvk.py, but is just
|
|
|
|
# an empty file used as a proxy for when the many
|
|
|
|
# files in the docs tree were regenerated.
|
|
|
|
$(DOCINCLUDES): $(VKH_DEPENDS)
|
|
|
|
$(PYTHON) genvk.py $(GENOPTS) $@
|
|
|
|
|
|
|
|
# Generate API Python dictionaries from XML.
|
|
|
|
# These are used in validating spec / man pages.
|
|
|
|
$(DOCPYSRC): $(VKH_DEPENDS)
|
|
|
|
$(PYTHON) genvk.py $(GENOPTS) $@
|
|
|
|
|
|
|
|
# Generate API Asciidoc validity include files from XML.
|
|
|
|
$(DOCVALIDITY): $(VKH_DEPENDS)
|
|
|
|
$(PYTHON) genvk.py $(GENOPTS) $@
|
|
|
|
|
|
|
|
# Generate API Asciidoc hostsynctable include files from XML.
|
|
|
|
$(DOCHOSTSYNCTABLE): $(VKH_DEPENDS)
|
|
|
|
$(PYTHON) genvk.py $(GENOPTS) $@
|
|
|
|
|
|
|
|
# Verify registry XML file against the schema
|
|
|
|
validate:
|
|
|
|
jing -c registry.rnc vk.xml
|
|
|
|
|
|
|
|
# Test that vulkan.h compiles
|
|
|
|
test: ../vulkan/vulkan.h ../vulkan/vk_platform.h
|
|
|
|
gcc -Wall -pedantic -std=c99 -c -I.. test.c
|
|
|
|
g++ -Wall -c -std=c++98 -I.. test.c
|
|
|
|
g++ -Wall -c -std=c++11 -I.. test.c
|
|
|
|
rm test.o
|
|
|
|
|
|
|
|
# Convert XML API description to JSON (not used yet)
|
|
|
|
vk.json: tojson.py vk.xml
|
|
|
|
$(PYTHON) tojson.py vk.xml > $@
|
|
|
|
|
|
|
|
################################################
|
|
|
|
|
|
|
|
# Documentation targets
|
Change log for May 13, 2016 Vulkan 1.0.13 spec update:
* Bump API patch number and header version number to 13 for this
update.
Github Issues:
* Improve the description of ename:VK_PRESENT_MODE_FIFO_RELAXED_KHR in the
VK_KHR_surface extension (public issue 174).
* Clarify use of etext:*_SIMULTANEOUS_USE_BIT for secondary command
buffers (public issue 182).
* Fix typos in VK_KHR_wayland_surface extension where code:wl_device was
used instead of code:wl_display (public issue 193).
* Replaced {apiname} with ``Vulkan'' in XML validity statements (public
issue 199).
* Fix dead links for WSI handle types (public issue 200).
*** N.b. this needs to be done in WSI branches as well ***
* Use "signaled" instead of "signalled" spelling everywhere (public issue
201).
*** N.b. this needs to be done in WSI branches as well ***
* Move readme.pdf target directory for XML schema documentation into the
target generation directory, instead of leaving it checked into the spec
source tree (public issue 203).
*** N.b. need to add generated PDF to registry index/1.0 page
* Fix duplicate 'which which' typo in description of
elink:VkCommandPoolResetFlagBits (public issue 204).
* Move the <<Programmable Primitive Shading>> section up one level, out of
the <<drawing-primitive-topologies,Primitive Topologies>> section
(public issue 209).
Internal Issues:
* Clarify in the <<pipelines-cache,Pipeline Cache>> section that
implementations should not manage the size of pipeline cache (internal
issue 192).
* Deprecate the concept of device layers and associated commands (internal
issue 255).
* Remove ename:VK_INCOMPLETE from the list of possible result codes of
flink:vkGetPhysicalDeviceSurfaceCapabilitiesKHR (internal issue 314).
* Add missing std140/std430 rule: the base alignment of a member following
a structure is a multiple of the structure's base alignment (internal
issue 321).
* Fixes naming of the single elink:VkColorSpaceKHR enum from
ename:VK_COLORSPACE_SRGB_NONLINEAR_KHR to
ename:VK_COLOR_SPACE_SRGB_NONLINEAR_KHR in XML/header and the
VK_KHR_swapchain and VK_KHR_surface extensions to match the style of the
typename (space and color are two words, not one) (internal issue 322).
* Make it clear that code:LocalInvocationID should only be applied to an
input variable and normalize the language describing
code:LocalInvocationID to the language for other compute shader
variables in the <<interfaces-builtin-variables,Built-in Variables>>
section, and add normative language (internal issue 323).
* Clarify in the <<fundamentals-returncodes,Return Codes>> section that
the result pointer may be modified for specific commands, even if a
runtime error is returned (internal issue 324).
2016-05-13 17:01:59 -07:00
|
|
|
$(OUTDIR)/readme.pdf: readme.tex Makefile
|
2016-02-16 01:53:44 -08:00
|
|
|
touch readme.ind
|
|
|
|
pdflatex readme.tex
|
|
|
|
pdflatex readme.tex
|
|
|
|
makeindex readme.idx
|
|
|
|
pdflatex readme.tex
|
Change log for May 13, 2016 Vulkan 1.0.13 spec update:
* Bump API patch number and header version number to 13 for this
update.
Github Issues:
* Improve the description of ename:VK_PRESENT_MODE_FIFO_RELAXED_KHR in the
VK_KHR_surface extension (public issue 174).
* Clarify use of etext:*_SIMULTANEOUS_USE_BIT for secondary command
buffers (public issue 182).
* Fix typos in VK_KHR_wayland_surface extension where code:wl_device was
used instead of code:wl_display (public issue 193).
* Replaced {apiname} with ``Vulkan'' in XML validity statements (public
issue 199).
* Fix dead links for WSI handle types (public issue 200).
*** N.b. this needs to be done in WSI branches as well ***
* Use "signaled" instead of "signalled" spelling everywhere (public issue
201).
*** N.b. this needs to be done in WSI branches as well ***
* Move readme.pdf target directory for XML schema documentation into the
target generation directory, instead of leaving it checked into the spec
source tree (public issue 203).
*** N.b. need to add generated PDF to registry index/1.0 page
* Fix duplicate 'which which' typo in description of
elink:VkCommandPoolResetFlagBits (public issue 204).
* Move the <<Programmable Primitive Shading>> section up one level, out of
the <<drawing-primitive-topologies,Primitive Topologies>> section
(public issue 209).
Internal Issues:
* Clarify in the <<pipelines-cache,Pipeline Cache>> section that
implementations should not manage the size of pipeline cache (internal
issue 192).
* Deprecate the concept of device layers and associated commands (internal
issue 255).
* Remove ename:VK_INCOMPLETE from the list of possible result codes of
flink:vkGetPhysicalDeviceSurfaceCapabilitiesKHR (internal issue 314).
* Add missing std140/std430 rule: the base alignment of a member following
a structure is a multiple of the structure's base alignment (internal
issue 321).
* Fixes naming of the single elink:VkColorSpaceKHR enum from
ename:VK_COLORSPACE_SRGB_NONLINEAR_KHR to
ename:VK_COLOR_SPACE_SRGB_NONLINEAR_KHR in XML/header and the
VK_KHR_swapchain and VK_KHR_surface extensions to match the style of the
typename (space and color are two words, not one) (internal issue 322).
* Make it clear that code:LocalInvocationID should only be applied to an
input variable and normalize the language describing
code:LocalInvocationID to the language for other compute shader
variables in the <<interfaces-builtin-variables,Built-in Variables>>
section, and add normative language (internal issue 323).
* Clarify in the <<fundamentals-returncodes,Return Codes>> section that
the result pointer may be modified for specific commands, even if a
runtime error is returned (internal issue 324).
2016-05-13 17:01:59 -07:00
|
|
|
mv readme.pdf $@
|
2016-02-16 01:53:44 -08:00
|
|
|
|
|
|
|
################################################
|
|
|
|
|
|
|
|
# Administrative stuff
|
|
|
|
|
|
|
|
# Add entries from function_properties.xls (encoded into a Python
|
|
|
|
# dictionary) to vk.xml
|
|
|
|
|
|
|
|
addProps:
|
|
|
|
$(PYTHON) rewrite.py vk.xml | $(PYTHON) realign.py > new.xml
|
|
|
|
|
|
|
|
################################################
|
|
|
|
|
|
|
|
# Files to clean up
|
|
|
|
TEXDIRT = readme.aux readme.idx readme.ilg readme.ind readme.log readme.toc readme.out
|
|
|
|
PYDIRT = diag.txt dumpReg.txt errwarn.txt *.pyc regdump.txt
|
|
|
|
DIRT = $(TEXDIRT) $(PYDIRT) ERRS \#*
|
|
|
|
|
|
|
|
clean:
|
|
|
|
-rm -f $(DIRT)
|
|
|
|
|
|
|
|
# Remove not just intermediate and junk files, but generated targets
|
|
|
|
# (installed header & asciidoc includes)
|
|
|
|
clobber: clean
|
|
|
|
-rm -f $(HEADERS) $(DOCINCLUDES)
|
Change log for May 13, 2016 Vulkan 1.0.13 spec update:
* Bump API patch number and header version number to 13 for this
update.
Github Issues:
* Improve the description of ename:VK_PRESENT_MODE_FIFO_RELAXED_KHR in the
VK_KHR_surface extension (public issue 174).
* Clarify use of etext:*_SIMULTANEOUS_USE_BIT for secondary command
buffers (public issue 182).
* Fix typos in VK_KHR_wayland_surface extension where code:wl_device was
used instead of code:wl_display (public issue 193).
* Replaced {apiname} with ``Vulkan'' in XML validity statements (public
issue 199).
* Fix dead links for WSI handle types (public issue 200).
*** N.b. this needs to be done in WSI branches as well ***
* Use "signaled" instead of "signalled" spelling everywhere (public issue
201).
*** N.b. this needs to be done in WSI branches as well ***
* Move readme.pdf target directory for XML schema documentation into the
target generation directory, instead of leaving it checked into the spec
source tree (public issue 203).
*** N.b. need to add generated PDF to registry index/1.0 page
* Fix duplicate 'which which' typo in description of
elink:VkCommandPoolResetFlagBits (public issue 204).
* Move the <<Programmable Primitive Shading>> section up one level, out of
the <<drawing-primitive-topologies,Primitive Topologies>> section
(public issue 209).
Internal Issues:
* Clarify in the <<pipelines-cache,Pipeline Cache>> section that
implementations should not manage the size of pipeline cache (internal
issue 192).
* Deprecate the concept of device layers and associated commands (internal
issue 255).
* Remove ename:VK_INCOMPLETE from the list of possible result codes of
flink:vkGetPhysicalDeviceSurfaceCapabilitiesKHR (internal issue 314).
* Add missing std140/std430 rule: the base alignment of a member following
a structure is a multiple of the structure's base alignment (internal
issue 321).
* Fixes naming of the single elink:VkColorSpaceKHR enum from
ename:VK_COLORSPACE_SRGB_NONLINEAR_KHR to
ename:VK_COLOR_SPACE_SRGB_NONLINEAR_KHR in XML/header and the
VK_KHR_swapchain and VK_KHR_surface extensions to match the style of the
typename (space and color are two words, not one) (internal issue 322).
* Make it clear that code:LocalInvocationID should only be applied to an
input variable and normalize the language describing
code:LocalInvocationID to the language for other compute shader
variables in the <<interfaces-builtin-variables,Built-in Variables>>
section, and add normative language (internal issue 323).
* Clarify in the <<fundamentals-returncodes,Return Codes>> section that
the result pointer may be modified for specific commands, even if a
runtime error is returned (internal issue 324).
2016-05-13 17:01:59 -07:00
|
|
|
-rm -f $(OUTDIR)/readme.pdf
|
2016-02-16 01:53:44 -08:00
|
|
|
-rm -f $(DOCROOT)/vkapi.py
|
|
|
|
-rm -f $(DOCROOT)/structs/*.txt $(DOCROOT)/protos/*.txt
|
|
|
|
-rm -f $(DOCROOT)/enums/*.txt $(DOCROOT)/flags/*.txt
|
|
|
|
-rm -f $(DOCVALIDITY)
|
|
|
|
-rm -f $(DOCROOT)/validity/protos/*.txt
|
|
|
|
-rm -f $(DOCROOT)/validity/structs/*.txt
|
|
|
|
-rm -f $(DOCHOSTSYNCTABLE)
|
|
|
|
-rm -f $(DOCROOT)/hostsynctable/*.txt
|