[go: nahoru, domu]

Skip to content

Commit

Permalink
SPIR-V Tools fully supports SPIR-V 1.0 Rev3
Browse files Browse the repository at this point in the history
- Update version numbers in libspirv.h.
  Add a test for the relevant macros.
- Update the README
  • Loading branch information
dneto0 committed Feb 17, 2016
1 parent 53075ea commit 4d2f223
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 4 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,7 @@ if (NOT ${SPIRV_SKIP_EXECUTABLES})
${CMAKE_CURRENT_SOURCE_DIR}/test/Validate.SSA.cpp
${CMAKE_CURRENT_SOURCE_DIR}/test/ValidateID.cpp
${CMAKE_CURRENT_SOURCE_DIR}/test/ValidationState.cpp
${CMAKE_CURRENT_SOURCE_DIR}/test/Version.cpp
${CMAKE_CURRENT_SOURCE_DIR}/test/main.cpp)

add_executable(UnitSPIRV ${TEST_SOURCES})
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ SPIR-V specification, headers, and XML registry.

### Assembler, binary parser, and disassembler

* Based on SPIR-V 1.0 Revision 2.
* Based on SPIR-V 1.0 Revision 3.
* Supports GLSL std450 extended instructions.
* Supports OpenCL extended instructions.
* Assembler only does basic syntax checking. No cross validation of
Expand Down
6 changes: 3 additions & 3 deletions include/spirv-tools/libspirv.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ extern "C" {
// This library is based on SPIR-V 1.0 Rev2
// TODO(dneto): Use the values from the SPIR-V header, when it's updated for
// SPIR-V 1.0 public release.
#define SPV_SPIRV_VERSION_MAJOR 1
#define SPV_SPIRV_VERSION_MINOR 0
#define SPV_SPIRV_VERSION_REVISION 2
#define SPV_SPIRV_VERSION_MAJOR (SPV_VERSION >> 16)
#define SPV_SPIRV_VERSION_MINOR (SPV_VERSION & 0xffff)
#define SPV_SPIRV_VERSION_REVISION (SPV_REVISION)

// Helpers

Expand Down
39 changes: 39 additions & 0 deletions test/Version.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// Copyright 2016 Google Inc. All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and/or associated documentation files (the
// "Materials"), to deal in the Materials without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Materials, and to
// permit persons to whom the Materials are furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Materials.
//
// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
// KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
// SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
// https://www.khronos.org/registry/
//
// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.

#include "gmock/gmock.h"

#include "UnitSPIRV.h"

namespace {

TEST(LibspirvMacros, Version) {
EXPECT_EQ(1, SPV_SPIRV_VERSION_MAJOR);
EXPECT_EQ(0, SPV_SPIRV_VERSION_MINOR);
EXPECT_EQ(3, SPV_SPIRV_VERSION_REVISION);
}

} // anonymous namespace

0 comments on commit 4d2f223

Please sign in to comment.